[PATCH] XIChangeDeviceProperty: free newly allocated prop when SetProperty fails
Alan Coopersmith
alan.coopersmith at oracle.com
Mon Jul 30 23:37:06 PDT 2012
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 at oracle.com>
---
Xi/xiproperty.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index ca73104..4beedcf 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;
}
}
--
1.7.9.2
More information about the xorg-devel
mailing list