name-rev: Fix segmentation fault when using --all
In commit da2478db "describe --always: fall back to showing an abbreviated object name" we lost the check that skips empty entries in the object hash table when iterating over it in cmd_name_rev. That may cause a NULL pointer being handed to show_name(), leading to a segmentation fault. So add that check back again. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Björn Steinbrink committed
Jun 6, 2008 at 01:31 UTC
a83123deecfdd5078c2e16166576fb17add194b2
1 file changed
+6
-2
builtin-name-rev.c
+6
-2
@@ -280,9 +280,13 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix)
280
int i, max;
281
282
max = get_max_object_index();
283
- for (i = 0; i < max; i++)
284
- show_name(get_indexed_object(i), NULL,
283
+ for (i = 0; i < max; i++) {
284
+ struct object *obj = get_indexed_object(i);
285
+ if (!obj)
286
+ continue;
287
+ show_name(obj, NULL,
288
always, allow_undefined, data.name_only);
289
+ }
290
} else {
291
int i;
292
for (i = 0; i < revs.nr; i++)