summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2016-02-06 16:04:54 +0100
committerMarcus Meissner <marcus@jet.franken.de>2016-02-06 16:04:54 +0100
commit5b6f7877ee8d0126cf6bef5078977d5d5ba09919 (patch)
tree77354dce5f57b0c82c5739a9aba3b47e756c52b0
parent3ebb68bfedf11f158926be506e2c5e28690fd7e3 (diff)
downloadlibgphoto2-5b6f7877ee8d0126cf6bef5078977d5d5ba09919.tar.gz
aox: free data on exit nodes (Coverity)
if we do not set gp_file_set_data_and_size, we need to free it 296063 Resource leak
-rw-r--r--camlibs/aox/library.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/camlibs/aox/library.c b/camlibs/aox/library.c
index 6629f96cc..7530ce484 100644
--- a/camlibs/aox/library.c
+++ b/camlibs/aox/library.c
@@ -206,6 +206,7 @@ get_file_func (CameraFilesystem *fs, const char *folder, const char *filename,
switch (type) {
case GP_FILE_TYPE_EXIF:
+ free (data);
return (GP_ERROR_FILE_EXISTS);
case GP_FILE_TYPE_PREVIEW:
@@ -214,6 +215,7 @@ get_file_func (CameraFilesystem *fs, const char *folder, const char *filename,
gp_file_detect_mime_type (file); /* Detected as "raw"*/
gp_file_set_data_and_size (file, (char *)data, len);
gp_file_adjust_name_for_mime_type (file);
+ break;
}
if ((w == 640)){
/* Stripping useless header */
@@ -258,6 +260,7 @@ get_file_func (CameraFilesystem *fs, const char *folder, const char *filename,
gp_file_append (file, header, header_len);
gp_file_append (file, (char *)output, 3*w*h);
}
+ free (data);
free (output);
return GP_OK;
case GP_FILE_TYPE_RAW:
@@ -266,10 +269,9 @@ get_file_func (CameraFilesystem *fs, const char *folder, const char *filename,
gp_file_adjust_name_for_mime_type(file);
break;
default:
+ free (data);
return (GP_ERROR_NOT_SUPPORTED);
-
}
-
return GP_OK;
}