[PATCH 13/17] fsck: don't put a void*-shaped peg in a char*-shaped hole
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- May 19, 2013, 20:27 UTC
- Message-ID
- <1368995232-11042-14-git-send-email-mhagger@alum.mit.edu>
- In-Reply-To
- <1368995232-11042-1-git-send-email-mhagger@alum.mit.edu>
The source of this nonsense was
04d3975937 fsck: reduce stack footprint
, which wedged a pointer to parent into the object_array_entry's name field. The parent pointer was passed to traverse_one_object(), even though that function *didn't use it*.
The useless code has been deleted over time. Commit
a1cdc25172 fsck: drop unused parameter from traverse_one_object()
removed the parent pointer from traverse_one_object()'s signature. Commit
c0aa335c95 Remove unused variables
removed the code that read the parent pointer back out of the name field.
This commit takes the last step: don't write the parent pointer into the name field in the first place.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- I thought that this misuse of the name field was going to be a showstopper for changing how the name's memory is managed, but then I noticed that the value stored here is never used.
builtin/fsck.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/fsck.c b/builtin/fsck.c index bb9a2cd..9909b6d 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -112,7 +112,7 @@ static int mark_object(struct object *obj, int type, void *data) return 1; } - add_object_array(obj, (void *) parent, &pending); + add_object_array(obj, NULL, &pending); return 0; }
-- 1.8.2.3