This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This eliminates another memory leak on handling macros. Built and tested natively on x86_64-unknown-linux-gnu and as cross tools for a large number of targets. Jan gas/ 2005-05-09 Jan Beulich <jbeulich@novell.com> * read.c (s_macro): Move local variable 'local' to smaller scope. Call sb_kill on it when done. --- /home/jbeulich/src/binutils/mainline/2005-05-06/gas/read.c 2005-05-06 08:34:42.000000000 +0200 +++ 2005-05-06/gas/read.c 2005-05-09 11:57:39.038134712 +0200 @@ -2348,7 +2348,6 @@ s_macro (int ignore ATTRIBUTE_UNUSED) char *file; unsigned int line; sb s; - sb label; const char *err; const char *name; @@ -2358,11 +2357,17 @@ s_macro (int ignore ATTRIBUTE_UNUSED) while (!is_end_of_line[(unsigned char) *input_line_pointer]) sb_add_char (&s, *input_line_pointer++); - sb_new (&label); if (line_label != NULL) - sb_add_string (&label, S_GET_NAME (line_label)); + { + sb label; - err = define_macro (0, &s, &label, get_line_sb, file, line, &name); + sb_new (&label); + sb_add_string (&label, S_GET_NAME (line_label)); + err = define_macro (0, &s, &label, get_line_sb, file, line, &name); + sb_kill (&label); + } + else + err = define_macro (0, &s, NULL, get_line_sb, file, line, &name); if (err != NULL) as_bad_where (file, line, err, name); else
Attachment:
binutils-mainline-macro-label-leak.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |