dix/ptraccel: Fix memory leak in InitPredictableAccelerationScheme
This was quite unlikely except in situations where a proper startup would have been impossible anyway, but since automated checks don't grade likelyhood just fix it. Detected by Jeremy Huddleston's clang checks. Signed-off-by: Simon Thum <simon.thum@gmx.de> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
f641ae4122
commit
c8e5fc3057
|
@ -134,13 +134,19 @@ InitPredictableAccelerationScheme(DeviceIntPtr dev,
|
||||||
scheme = *protoScheme;
|
scheme = *protoScheme;
|
||||||
vel = calloc(1, sizeof(DeviceVelocityRec));
|
vel = calloc(1, sizeof(DeviceVelocityRec));
|
||||||
schemeData = calloc(1, sizeof(PredictableAccelSchemeRec));
|
schemeData = calloc(1, sizeof(PredictableAccelSchemeRec));
|
||||||
if (!vel || !schemeData)
|
if (!vel || !schemeData) {
|
||||||
|
free(vel);
|
||||||
|
free(schemeData);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
InitVelocityData(vel);
|
InitVelocityData(vel);
|
||||||
schemeData->vel = vel;
|
schemeData->vel = vel;
|
||||||
scheme.accelData = schemeData;
|
scheme.accelData = schemeData;
|
||||||
if (!InitializePredictableAccelerationProperties(dev, vel, schemeData))
|
if (!InitializePredictableAccelerationProperties(dev, vel, schemeData)) {
|
||||||
|
free(vel);
|
||||||
|
free(schemeData);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
/* all fine, assign scheme to device */
|
/* all fine, assign scheme to device */
|
||||||
dev->valuator->accelScheme = scheme;
|
dev->valuator->accelScheme = scheme;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in New Issue