diff options
author | Christophe Fergeau | 2008-08-12 21:47:01 +0200 |
---|---|---|
committer | Jonathan Beck | 2008-08-21 18:47:04 +0200 |
commit | a885ca9dbe929781144f3f1a00e565dfa31f68c6 (patch) | |
tree | 6ccec69d5dfc45d341ca85d24a7ad80d2f558652 /src | |
parent | e5e5f21cae73230eaaa70273bd4400ff6b86641a (diff) | |
download | libplist-a885ca9dbe929781144f3f1a00e565dfa31f68c6.tar.gz libplist-a885ca9dbe929781144f3f1a00e565dfa31f68c6.tar.bz2 |
Don't leak memory in error cases in ifuse_init
Diffstat (limited to 'src')
-rw-r--r-- | src/ifuse.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ifuse.c b/src/ifuse.c index 7ae4827..2a33405 100644 --- a/src/ifuse.c +++ b/src/ifuse.c @@ -197,12 +197,15 @@ void *ifuse_init(struct fuse_conn_info *conn) { } if (!lockdownd_init(phone, &control)) { + free_iPhone(phone); fprintf(stderr, "Something went wrong in the lockdownd client.\n"); return NULL; } port = lockdownd_start_service(control, "com.apple.afc"); if (!port) { + lockdownd_close(control); + free_iphone(phone); fprintf(stderr, "Something went wrong when starting AFC."); return NULL; } |