This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

Re: creating the gdb-7.4 branch tomorrow (?)


>>>>> "Andreas" == Andreas Schwab <schwab@linux-m68k.org> writes:

>> +static void
>> +filter_sals (struct symtabs_and_lines *sals)
>> +{
[...]
>> +  if (sals->nelts == 0)

Andreas> This is never true.  If sals->nelts == 0 on entry then it will
Andreas> always be set to 1, causing the caller to crash when
Andreas> dereferencing sals->sals.

This seems simplest.

Tom

2012-08-15  Tom Tromey  <tromey@redhat.com>

	* cli/cli-cmds.c (filter_sals): Handle nelts == 0 case.

diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 2a80803..5d8a124 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1534,13 +1534,14 @@ filter_sals (struct symtabs_and_lines *sals)
 	  ++out;
 	}
     }
-  sals->nelts = out;
 
   if (sals->nelts == 0)
     {
       xfree (sals->sals);
       sals->sals = NULL;
     }
+  else
+    sals->nelts = out;
 }
 
 static void


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]