summaryrefslogtreecommitdiff
path: root/Xi/xiproperty.c
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2012-07-30 23:37:06 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2012-08-05 08:25:03 +1000
commit7328900042b9c1312aed48753fd6054e64613e4c (patch)
treec82d8c891c71285b8426d7ec99566fa220adb2a3 /Xi/xiproperty.c
parent4dbbcdf64563cb95f83c04b2442cb7e868384264 (diff)
XIChangeDeviceProperty: free newly allocated prop when SetProperty fails
Reported by parfait 1.0: Error: Memory leak (CWE 401) Memory leak of pointer 'prop' allocated with XICreateDeviceProperty(property) at line 774 of Xi/xiproperty.c in function 'XIChangeDeviceProperty'. 'prop' allocated at line 700 with XICreateDeviceProperty(property). prop leaks when handler != NULL at line 768 and handler->SetProperty != NULL at line 769 and checkonly != 0 at line 772 and rc != 0 at line 772. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Xi/xiproperty.c')
-rw-r--r--Xi/xiproperty.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index ca731042c..4beedcf6d 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -771,6 +771,8 @@ XIChangeDeviceProperty(DeviceIntPtr dev, Atom property, Atom type,
&new_value, checkonly);
if (checkonly && rc != Success) {
free(new_value.data);
+ if (add)
+ XIDestroyDeviceProperty(prop);
return rc;
}
}