On Fri, Jul 31, 2015 at 4:24 AM, Duy Nguyen <[email protected]> wrote:
> Jeff, I suppose you are the admin of git on scan.coverity, or knows
> him/her, perhaps we can add a model for xmalloc to suppress these
> "null pointer deferences" reports? We are sure xmalloc() never returns
> NULL. Qemu did it [1] and it looks simple.. I think something like
> this would do
>
> void *xmalloc(size_t size)
> {
> void *mem = malloc(size);
> if (!mem) __coverity_panic__();
> return mem;
> }
>
> [1]
> http://git.qemu.org/?p=qemu.git;a=blob;f=scripts/coverity-model.c;h=4c99a85cfc292caa9edd9d041e2683ee53490a8d;hb=e40cdb0e6efb795e4d19368987d53e3e4ae19cf7#l104
>
Taking just that excerpt doesn't work. Upload fails with
"modeling_file.c", line 12: error #20:
identifier "malloc" is undefined
void *mem = malloc(size);
I'll look into your reference[1] a bit more and try to follow it as a guidance.
>
> ---------- Forwarded message ----------
> From: <[email protected]>
> Date: Fri, Jul 31, 2015 at 5:54 PM
> Subject: New Defects reported by Coverity Scan for git
> To: [email protected]
>
> _______________________________________________________________________________________________________
> *** CID 1313836: Null pointer dereferences (FORWARD_NULL)
> /rerere.c: 150 in find_rerere_dir()
> 144 return NULL; /* BUG */
> 145 pos = sha1_pos(sha1, rerere_dir, rerere_dir_nr,
> rerere_dir_sha1);
> 146 if (pos < 0) {
> 147 rr_dir = xmalloc(sizeof(*rr_dir));
> 148 hashcpy(rr_dir->sha1, sha1);
> 149 rr_dir->status_nr = rr_dir->status_alloc = 0;
>>>> CID 1313836: Null pointer dereferences (FORWARD_NULL)
>>>> Assigning: "rr_dir->status" = "NULL".
> 150 rr_dir->status = NULL;
> 151 pos = -1 - pos;
> 152
> 153 /* Make sure the array is big enough ... */
> 154 ALLOC_GROW(rerere_dir, rerere_dir_nr + 1,
> rerere_dir_alloc);
> 155 /* ... and add it in. */
>
> ** CID 1313835: Null pointer dereferences (FORWARD_NULL)
> /builtin/fetch.c: 795 in prune_refs()
> --
> Duy
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html