Author: cem
Date: Wed Apr 20 03:45:45 2016
New Revision: 298334
URL: https://svnweb.freebsd.org/changeset/base/298334

Log:
  drm2(4): Fix double-free in low-memory error path
  
  Reallocf frees 'block'; don't attempt to free it again.
  
  Reported by:  Coverity
  CID:          1091165
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/dev/drm2/drm_edid.c

Modified: head/sys/dev/drm2/drm_edid.c
==============================================================================
--- head/sys/dev/drm2/drm_edid.c        Wed Apr 20 03:24:59 2016        
(r298333)
+++ head/sys/dev/drm2/drm_edid.c        Wed Apr 20 03:45:45 2016        
(r298334)
@@ -353,8 +353,10 @@ drm_do_get_edid(struct drm_connector *co
 
        new = reallocf(block, (block[0x7e] + 1) * EDID_LENGTH, DRM_MEM_KMS,
            M_NOWAIT);
-       if (!new)
+       if (!new) {
+               block = NULL;
                goto out;
+       }
        block = new;
 
        for (j = 1; j <= block[0x7e]; j++) {
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to