xserver: Branch 'master' - 2 commits

Oliver McFadden z3ro at kemper.freedesktop.org
Thu Jul 16 09:05:00 PDT 2009


 dix/ptrveloc.c              |    4 ++++
 hw/xfree86/modes/xf86Crtc.c |   11 ++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

New commits:
commit 7333dc2969f60af0abcfb28e7182a5fff9918223
Author: Oliver McFadden <oliver.mcfadden at nokia.com>
Date:   Thu Jul 16 18:57:49 2009 +0300

    Coverity Prevent: RESOURCE_LEAK in AccelSetProfileProperty:
    
    Event alloc_arg: Called allocation function "XIPropToInt" on "ptr" [details]
    167  	    rc = XIPropToInt(val, &nelem, &ptr);
    
    Event leaked_storage: Variable "ptr" goes out of scope

diff --git a/dix/ptrveloc.c b/dix/ptrveloc.c
index 37c8e51..1759f10 100644
--- a/dix/ptrveloc.c
+++ b/dix/ptrveloc.c
@@ -155,6 +155,7 @@ AccelSetProfileProperty(DeviceIntPtr dev, Atom atom,
     if (!vel)
         return BadValue;
     rc = XIPropToInt(val, &nelem, &ptr);
+    xfree(ptr);
 
     if(checkOnly)
     {
@@ -200,6 +201,7 @@ AccelSetDecelProperty(DeviceIntPtr dev, Atom atom,
     if (!vel)
         return BadValue;
     rc = XIPropToFloat(val, &nelem, &ptr);
+    xfree(ptr);
 
     if(checkOnly)
     {
@@ -246,6 +248,7 @@ AccelSetAdaptDecelProperty(DeviceIntPtr dev, Atom atom,
     if (!veloc)
         return BadValue;
     rc = XIPropToFloat(val, &nelem, &ptr);
+    xfree(ptr);
 
     if(checkOnly)
     {
@@ -292,6 +295,7 @@ AccelSetScaleProperty(DeviceIntPtr dev, Atom atom,
     if (!vel)
         return BadValue;
     rc = XIPropToFloat(val, &nelem, &ptr);
+    xfree(ptr);
 
     if (checkOnly)
     {
commit 66eabbebaf1b40fed7670b7c05337ed6226dd81e
Author: Oliver McFadden <oliver.mcfadden at nokia.com>
Date:   Thu Jul 16 18:50:22 2009 +0300

    Coverity Prevent: RESOURCE_LEAK in xf86CrtcSetInitialGamma

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 82e2703..c46b826 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2216,10 +2216,13 @@ xf86CrtcSetInitialGamma(xf86CrtcPtr crtc, float gamma_red, float gamma_green,
     blue = green + size;
 
      /* Only cause warning if user wanted gamma to be set. */
-    if (!crtc->funcs->gamma_set && (gamma_red != 1.0 || gamma_green != 1.0 || gamma_blue != 1.0))
+    if (!crtc->funcs->gamma_set && (gamma_red != 1.0 || gamma_green != 1.0 || gamma_blue != 1.0)) {
+        free(red);
         return FALSE;
-    else if (!crtc->funcs->gamma_set)
+    } else if (!crtc->funcs->gamma_set) {
+        free(red);
         return TRUE;
+      }
 
     /* At this early stage none of the randr-interface stuff is up.
      * So take the default gamma size for lack of something better.
@@ -2245,8 +2248,10 @@ xf86CrtcSetInitialGamma(xf86CrtcPtr crtc, float gamma_red, float gamma_green,
     }
 
     /* Default size is 256, so anything else is failure. */
-    if (size != crtc->gamma_size)
+    if (size != crtc->gamma_size) {
+        free(red);
         return FALSE;
+      }
 
     crtc->gamma_size = size;
     memcpy (crtc->gamma_red, red, crtc->gamma_size * sizeof (CARD16));


More information about the xorg-commit mailing list