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:
Simon Thum 2016-04-05 14:29:47 +02:00 committed by Peter Hutterer
parent f641ae4122
commit c8e5fc3057
1 changed files with 8 additions and 2 deletions

View File

@ -134,13 +134,19 @@ InitPredictableAccelerationScheme(DeviceIntPtr dev,
scheme = *protoScheme;
vel = calloc(1, sizeof(DeviceVelocityRec));
schemeData = calloc(1, sizeof(PredictableAccelSchemeRec));
if (!vel || !schemeData)
if (!vel || !schemeData) {
free(vel);
free(schemeData);
return FALSE;
}
InitVelocityData(vel);
schemeData->vel = vel;
scheme.accelData = schemeData;
if (!InitializePredictableAccelerationProperties(dev, vel, schemeData))
if (!InitializePredictableAccelerationProperties(dev, vel, schemeData)) {
free(vel);
free(schemeData);
return FALSE;
}
/* all fine, assign scheme to device */
dev->valuator->accelScheme = scheme;
return TRUE;