fix leak in wheel device

This commit is contained in:
Paul Dino Jones 2025-03-26 11:55:43 -04:00
parent 7bf2f8b28f
commit 4382e2f71f
1 changed files with 10 additions and 1 deletions

View File

@ -47,7 +47,7 @@ int wheeldev_free(USBDevice* usbdevice)
cammusc5_free(usbdevice); cammusc5_free(usbdevice);
break; break;
case WHEELDEV_CAMMUSC12 : case WHEELDEV_CAMMUSC12 :
cammusc12_update(usbdevice, 0, 0, 0, 0); //cammusc12_update(usbdevice, 0, 0, 0, 0);
cammusc12_free(usbdevice); cammusc12_free(usbdevice);
if(usbdevice->m.device_specific_config_file != NULL) if(usbdevice->m.device_specific_config_file != NULL)
{ {
@ -80,6 +80,13 @@ int wheeldev_init(USBDevice* usbdevice, DeviceSettings* ds)
{ {
usbdevice->m.device_specific_config_file = strdup(ds->specific_config_file); usbdevice->m.device_specific_config_file = strdup(ds->specific_config_file);
error = cammusc12_init(usbdevice, usbdevice->m.device_specific_config_file); error = cammusc12_init(usbdevice, usbdevice->m.device_specific_config_file);
if(error != 0)
{
if(usbdevice->m.device_specific_config_file != NULL)
{
free(usbdevice->m.device_specific_config_file);
}
}
} }
else else
{ {
@ -93,5 +100,7 @@ int wheeldev_init(USBDevice* usbdevice, DeviceSettings* ds)
break; break;
} }
return error; return error;
} }