summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xi/extinit.c7
-rw-r--r--Xi/xiproperty.c2
2 files changed, 6 insertions, 3 deletions
diff --git a/Xi/extinit.c b/Xi/extinit.c
index 4483076e9..494e887cd 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -1137,6 +1137,9 @@ IResetProc(ExtensionEntry * unused)
EventSwapVector[DevicePresenceNotify] = NotImplemented;
EventSwapVector[DevicePropertyNotify] = NotImplemented;
RestoreExtensionEvents();
+
+ free(xi_all_devices.name);
+ free(xi_all_master_devices.name);
}
/***********************************************************************
@@ -1298,9 +1301,9 @@ XInputExtensionInit(void)
memset(&xi_all_devices, 0, sizeof(xi_all_devices));
memset(&xi_all_master_devices, 0, sizeof(xi_all_master_devices));
xi_all_devices.id = XIAllDevices;
- xi_all_devices.name = "XIAllDevices";
+ xi_all_devices.name = strdup("XIAllDevices");
xi_all_master_devices.id = XIAllMasterDevices;
- xi_all_master_devices.name = "XIAllMasterDevices";
+ xi_all_master_devices.name = strdup("XIAllMasterDevices");
inputInfo.all_devices = &xi_all_devices;
inputInfo.all_master_devices = &xi_all_master_devices;
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index e17efe407..5f46b5435 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -754,7 +754,7 @@ XIChangeDeviceProperty(DeviceIntPtr dev, Atom property, Atom type,
break;
}
if (new_data)
- memcpy((char *) new_data, (char *) value, len * size_in_bytes);
+ memcpy((char *) new_data, value, len * size_in_bytes);
if (old_data)
memcpy((char *) old_data, (char *) prop_value->data,
prop_value->size * size_in_bytes);