Dear ROOT developers, TRint class has bugs related to variable fDefaultPrompt: ---------------------------------------------------------------------- OLD: fDefaultPrompt = "root [%d] "; // Bad string allocation. NEW: fDefaultPrompt = StrDup("root [%d] ") OLD: TRint::~TRint() {} NEW: TRint::~TRint() { delete [] fDefaultPrompt;} ---------------------------------------------------------------------- Simple copy fDefaultPrompt=newPrompt is extremly dangerous thing. It must be void. const char *TRint::SetPrompt(const char *newPrompt) { // .... if (strlen(newPrompt) <= 55) { delete [] fDefaultPrompt; fDefaultPrompt = StrDup(newPrompt); } else Error("SetPrompt", "newPrompt too long (> 55 characters)"); // return op; return fDefaultPrompt; // Return new prompt. } ------------------------------------------------------------- With best wishes, Alexander
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:42 MET