From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Mon, 24 Sep 2012 15:21:20 +0000 (+0200) Subject: Avoid potentially dereferencing a NULL pointer X-Git-Tag: 0.15_rc1~233 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b6b08e40b38b098e796c2846c150befc8cc2c350;p=notmuch.git Avoid potentially dereferencing a NULL pointer 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. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de> --- diff --git a/mime-node.c b/mime-node.c index 97e8b480..839737a8 100644 --- a/mime-node.c +++ b/mime-node.c @@ -291,7 +291,7 @@ mime_node_child (mime_node_t *parent, int child) GMimeObject *sub; mime_node_t *node; - if (!parent || child < 0 || child >= parent->nchildren) + if (!parent || !parent->part || child < 0 || child >= parent->nchildren) return NULL; if (GMIME_IS_MULTIPART (parent->part)) {