Fix memory leak.

merge-requests/317/merge
Thierry HUCHARD 2020-01-26 08:28:19 +01:00
rodzic bb9c4ead76
commit bb5b109560
1 zmienionych plików z 13 dodań i 8 usunięć

Wyświetl plik

@ -178,28 +178,33 @@ convertFromESCLDev(ESCL_Device *cdev)
sdev->name = strdup(tmp);
if (!sdev->name) {
DBG (10, "Name allocation failure.\n");
free(sdev);
return NULL;
goto freedev;
}
sdev->model = strdup(cdev->model_name);
if (!sdev->model) {
DBG (10, "Model allocation failure.\n");
free(sdev);
return NULL;
goto freename;
}
sdev->vendor = strdup("ESCL");
if (!sdev->vendor) {
DBG (10, "Vendor allocation failure.\n");
free(sdev);
return NULL;
goto freemodel;
}
sdev->type = strdup("flatbed scanner");
if (!sdev->type) {
DBG (10, "Scanner Type allocation failure.\n");
free(sdev);
return NULL;
goto freevendor;
}
return (sdev);
freevendor:
free((void*)sdev->vendor);
freemodel:
free((void*)sdev->model);
freename:
free((void*)sdev->name);
freedev:
free((void*)sdev);
return NULL;
}
/**