From: Chris Wilson Date: Wed, 6 Jan 2010 16:53:33 +0000 (+0000) Subject: modes: Fix previous commit for potential legal NULLs X-Git-Tag: submit/1.0/20121108.012404~335 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6c136ca7a4c54457b48be1aec2be024b3e4a28d;p=profile%2Fivi%2Flibdrm.git modes: Fix previous commit for potential legal NULLs If the count is 0, then the malloc is permitted to return NULL, so don't throw an error in that case. Signed-off-by: Chris Wilson --- diff --git a/xf86drmMode.c b/xf86drmMode.c index 44ef05b..cfdee4a 100644 --- a/xf86drmMode.c +++ b/xf86drmMode.c @@ -206,7 +206,11 @@ retry: r->crtcs = drmAllocCpy(U642VOID(res.crtc_id_ptr), res.count_crtcs, sizeof(uint32_t)); r->connectors = drmAllocCpy(U642VOID(res.connector_id_ptr), res.count_connectors, sizeof(uint32_t)); r->encoders = drmAllocCpy(U642VOID(res.encoder_id_ptr), res.count_encoders, sizeof(uint32_t)); - if (!r->fbs || !r->crtcs || !r->connectors || !r->encoders) { + if ((res.count_fbs && !r->fbs) || + (res.count_crtcs && !r->crtcs) || + (res.count_connectors && !r->connectors) || + (res.count_encoders && !r->encoders)) + { drmFree(r->fbs); drmFree(r->crtcs); drmFree(r->connectors);