Fix possible causes of leaks and segfaults
This commit is contained in:
parent
784f71b831
commit
67d0423997
|
|
@ -235,7 +235,7 @@ int loadconfig(const char* config_file, DeviceSettings* ds)
|
||||||
int devsetup(const char* device_type, const char* device_subtype, const char* config_file, MonocoqueSettings* ms, DeviceSettings* ds, config_setting_t* device_settings)
|
int devsetup(const char* device_type, const char* device_subtype, const char* config_file, MonocoqueSettings* ms, DeviceSettings* ds, config_setting_t* device_settings)
|
||||||
{
|
{
|
||||||
int error = MONOCOQUE_ERROR_NONE;
|
int error = MONOCOQUE_ERROR_NONE;
|
||||||
slogt("Called device setup with %s %s %s", device_type, device_subtype, config_file);
|
//slogt("Called device setup with %s %s %s", device_type, device_subtype, config_file);
|
||||||
ds->dev_type = SIMDEV_UNKNOWN;
|
ds->dev_type = SIMDEV_UNKNOWN;
|
||||||
|
|
||||||
error = strtodev(device_type, device_subtype, ds);
|
error = strtodev(device_type, device_subtype, ds);
|
||||||
|
|
@ -330,7 +330,14 @@ int settingsfree(DeviceSettings ds)
|
||||||
{
|
{
|
||||||
free(ds.serialdevsettings.portdev);
|
free(ds.serialdevsettings.portdev);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if (ds.dev_type == SIMDEV_SOUND)
|
||||||
|
{
|
||||||
|
if (ds.sounddevsettings.dev != NULL)
|
||||||
|
{
|
||||||
|
free(ds.sounddevsettings.dev);
|
||||||
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -162,10 +162,10 @@ int main(int argc, char** argv)
|
||||||
const char* device_config_file;
|
const char* device_config_file;
|
||||||
config_setting_lookup_string(config_device, "device", &device_type);
|
config_setting_lookup_string(config_device, "device", &device_type);
|
||||||
config_setting_lookup_string(config_device, "type", &device_subtype);
|
config_setting_lookup_string(config_device, "type", &device_subtype);
|
||||||
//config_setting_lookup_string(config_device, "config", &device_config_file);
|
config_setting_lookup_string(config_device, "config", &device_config_file);
|
||||||
|
|
||||||
slogt("device type: %s", device_type);
|
//slogt("device type: %s", device_type);
|
||||||
slogt("device sub type: %s", device_subtype);
|
//slogt("device sub type: %s", device_subtype);
|
||||||
//slogt("device config file: %s", device_config_file);
|
//slogt("device config file: %s", device_config_file);
|
||||||
if (error == MONOCOQUE_ERROR_NONE)
|
if (error == MONOCOQUE_ERROR_NONE)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue