Quoting Austin Clements (2012-09-22 18:19:08)
> Quoth Justus Winter on Sep 21 at  2:50 pm:
> > GMIME_IS_MULTIPART and GMIME_IS_MESSAGE both handle NULL pointers
> > gracefully, but the G_OBJECT_TYPE used in the error handling block
> > dereferences it without checking it first.
> > 
> > Fix this by checking whether parent->part is valid.
> > 
> > Found using the clang static analyzer.
> 
> Neat.

Yes. Besides this the code turns up no warnings (modulo one false
positive, clang doesn't understand that progress_notify is never
called if it's NULL in notmuch_database_upgrade b/c the signal handler
isn't set up then).

> Can this actually happen, though?  If so, I think this point is too
> late to be checking for a NULL part field.  It should probably be
> checked when the mime_node_t is created so that mime_node_t never has
> a NULL part field.

I'm not sure actually. Then again this patch isn't hacky at all and
being somewhat defensive isn't bad imho.

Justus

Reply via email to