diff options
author | Marcus Meissner <marcus@jet.franken.de> | 2016-02-06 16:04:54 +0100 |
---|---|---|
committer | Marcus Meissner <marcus@jet.franken.de> | 2016-02-06 16:04:54 +0100 |
commit | 5b6f7877ee8d0126cf6bef5078977d5d5ba09919 (patch) | |
tree | 77354dce5f57b0c82c5739a9aba3b47e756c52b0 | |
parent | 3ebb68bfedf11f158926be506e2c5e28690fd7e3 (diff) | |
download | libgphoto2-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.c | 6 |
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; } |