Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] list-objects: perform NULL check before the variable is dereferenced

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:53:32

Nguyen Thai Ngoc Duy [off-list ref] writes:
2012/4/10 Junio C Hamano [off-list ref]:
quoted
Nguyễn Thái Ngọc Duy  [off-list ref] writes:
quoted
Signed-off-by: Nguyễn Thái Ngọc Duy <redacted>
---
 list-objects.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
Please explain why this is needed?

I can see that process_blob() is called from process_tree() which passes
the return value from lookup_blob(entry.sha1) directly without looking at
it.  lookup_blob() can issue an error message and return NULL if there is
a SHA-1 collision with an object that is not a blob.
to avoid segmentation fault in that case, if "blob" is NULL, it dies
at blob->object anyway and the check "if (!obj)" is useless.
Well, I didn't mean that you should explain whatever to _me_ as a
response; I meant that the log message should explain that to future
readers. I thought you have been here long enough to know that ;-)

Also "check NULL before dereferencing" means "avoid segmentation fault",
so that is not the primary thing that needs to be explained.  The point is
to explain why and how a NULL could come into the codepath in the first
place.

Please try again when post 1.7.10 cycle opens.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help