summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2014-01-06 13:20:07 +0000
committerMarcus Meissner <marcus@jet.franken.de>2014-01-06 13:20:07 +0000
commitb21cf7de90e0f3b5f2f4550bf2b151006b3bef20 (patch)
tree33e3a2679cd02d90c1a93513ff51a2a95db7a110
parent1bcc0d929cee9107809452bc323ffd1fbc695219 (diff)
downloadlibgphoto2-b21cf7de90e0f3b5f2f4550bf2b151006b3bef20.tar.gz
avoid leaking msg (Coverity)
git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@14660 67ed7778-7388-44ab-90cf-0a291f65f57c
-rw-r--r--camlibs/hp215/hp215.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/camlibs/hp215/hp215.c b/camlibs/hp215/hp215.c
index b46c92738..5a69fd0ce 100644
--- a/camlibs/hp215/hp215.c
+++ b/camlibs/hp215/hp215.c
@@ -580,8 +580,11 @@ get_info_func (CameraFilesystem *fs, const char *folder, const char *filename,
free (buf);
if (ret < GP_OK)
return ret;
- if (msglen < 2)
+
+ if (msglen < 2) {
+ free (msg);
return GP_ERROR_IO;
+ }
/*
0000 80 80 80 85 86 85-84 84 30 31 2f 30 32 2f ..........01/02/
@@ -591,8 +594,10 @@ get_info_func (CameraFilesystem *fs, const char *folder, const char *filename,
*/
xmsg = msg;
ret = decode_u32(&xmsg, &msglen, &val);
- if (ret < GP_OK)
+ if (ret < GP_OK) {
+ free (msg);
return ret;
+ }
memset (info, 0, sizeof(*info));
info->file.fields = GP_FILE_INFO_SIZE;
info->file.size = val;
@@ -605,8 +610,10 @@ get_info_func (CameraFilesystem *fs, const char *folder, const char *filename,
msglen -= 2;
ret = decode_u32(&xmsg, &msglen, &val);
- if (ret < GP_OK)
+ if (ret < GP_OK) {
+ free (msg);
return ret;
+ }
info->preview.fields = GP_FILE_INFO_SIZE;
info->preview.size = val;