summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christophe Fergeau2008-08-12 22:28:12 +0200
committerGravatar Jonathan Beck2008-08-21 19:00:31 +0200
commite9e663d5979163daa9f7f34fe47305a03694b619 (patch)
treef69189c18df198e47e8b1a9c3360b8099cc56ff3
parent216c9e808957c996c17f9ca46707decbbafed6fe (diff)
downloadlibimobiledevice-e9e663d5979163daa9f7f34fe47305a03694b619.tar.gz
libimobiledevice-e9e663d5979163daa9f7f34fe47305a03694b619.tar.bz2
Don't leak r_packet in receive_AFC_data in the "false alarm" case
-rw-r--r--src/AFC.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/AFC.c b/src/AFC.c
index b23ca0f..67d14f9 100644
--- a/src/AFC.c
+++ b/src/AFC.c
@@ -234,6 +234,7 @@ static int receive_AFC_data(AFClient *client, char **dump_here) {
if (debug) fprintf(stderr, "Oops? Bad operation code received: 0x%X, operation=0x%X, param1=%d\n",
r_packet->operation, client->afc_packet->operation, param1);
recv_len = r_packet->entire_length - r_packet->this_length;
+ free(r_packet);
if (debug) fprintf(stderr, "recv_len=%d\n", recv_len);
if(param1 == 0) {
if (debug) fprintf(stderr, "... false alarm, but still\n");
@@ -241,7 +242,6 @@ static int receive_AFC_data(AFClient *client, char **dump_here) {
return 0;
}
else { if (debug) fprintf(stderr, "Errno %i\n", param1); }
- free(r_packet);
*dump_here = NULL;
return -1;
} else {