summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2014-01-06 13:09:45 +0000
committerMarcus Meissner <marcus@jet.franken.de>2014-01-06 13:09:45 +0000
commit8287d3639aac78758383d13816a3f488f271fe70 (patch)
treecb4bd574596dcff8de1254bffd5e59d538357786
parentfd5b3fea52e8f27f28db5fd998b63ca165127c92 (diff)
downloadlibgphoto2-8287d3639aac78758383d13816a3f488f271fe70.tar.gz
cleanups of freeing raw (Coverity)
git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@14657 67ed7778-7388-44ab-90cf-0a291f65f57c
-rw-r--r--camlibs/minolta/dimagev/delete.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/camlibs/minolta/dimagev/delete.c b/camlibs/minolta/dimagev/delete.c
index e9b5c2b98..43b7b130b 100644
--- a/camlibs/minolta/dimagev/delete.c
+++ b/camlibs/minolta/dimagev/delete.c
@@ -29,7 +29,8 @@
int dimagev_delete_picture(dimagev_t *dimagev, int file_number) {
dimagev_packet *p, *raw;
- unsigned char char_buffer=0, command_buffer[3];
+ unsigned char command_buffer[3];
+ char char_buffer = 0;
if ( dimagev == NULL ) {
GP_DEBUG( "dimagev_delete_picture::unable to use NULL dimagev_t");
@@ -108,35 +109,30 @@ int dimagev_delete_picture(dimagev_t *dimagev, int file_number) {
free(raw);
return GP_ERROR_NO_MEMORY;
}
+ free(raw);
char_buffer=DIMAGEV_EOT;
if ( gp_port_write(dimagev->dev, &char_buffer, 1) < GP_OK ) {
GP_DEBUG( "dimagev_delete_picture::unable to send ACK");
- free(raw);
return GP_ERROR_IO;
}
if ( gp_port_read(dimagev->dev, &char_buffer, 1) < GP_OK ) {
GP_DEBUG( "dimagev_delete_picture::no response from camera");
- free(raw);
return GP_ERROR_IO;
}
switch ( char_buffer ) {
case DIMAGEV_ACK:
- free(raw);
break;
case DIMAGEV_NAK:
GP_DEBUG( "dimagev_delete_picture::camera did not acknowledge transmission");
- free(raw);
return GP_ERROR_IO;
case DIMAGEV_CAN:
GP_DEBUG( "dimagev_delete_picture::camera cancels transmission");
- free(raw);
return GP_ERROR_IO;
default:
GP_DEBUG( "dimagev_delete_picture::camera responded with unknown value %x", char_buffer);
- free(raw);
return GP_ERROR_IO;
}
@@ -145,7 +141,8 @@ int dimagev_delete_picture(dimagev_t *dimagev, int file_number) {
int dimagev_delete_all(dimagev_t *dimagev) {
dimagev_packet *p, *raw;
- unsigned char char_buffer, command_buffer[3];
+ unsigned char command_buffer[3];
+ char char_buffer;
if ( dimagev == NULL ) {
GP_DEBUG( "dimagev_delete_all::unable to use NULL dimagev_t");
@@ -222,17 +219,16 @@ int dimagev_delete_all(dimagev_t *dimagev) {
free(raw);
return GP_ERROR;
}
+ free(raw);
char_buffer=DIMAGEV_EOT;
if ( gp_port_write(dimagev->dev, &char_buffer, 1) < GP_OK ) {
GP_DEBUG( "dimagev_delete_all::unable to send ACK");
- free(raw);
return GP_ERROR_IO;
}
if ( gp_port_read(dimagev->dev, &char_buffer, 1) < GP_OK ) {
GP_DEBUG( "dimagev_delete_all::no response from camera");
- free(raw);
return GP_ERROR_IO;
}
@@ -241,15 +237,12 @@ int dimagev_delete_all(dimagev_t *dimagev) {
break;
case DIMAGEV_NAK:
GP_DEBUG( "dimagev_delete_all::camera did not acknowledge transmission");
- free(raw);
return GP_ERROR_IO;
case DIMAGEV_CAN:
GP_DEBUG( "dimagev_delete_all::camera cancels transmission");
- free(raw);
return GP_ERROR_IO;
default:
GP_DEBUG( "dimagev_delete_all::camera responded with unknown value %x", char_buffer);
- free(raw);
return GP_ERROR_IO;
}