summaryrefslogtreecommitdiffstats
path: root/fs_mgr
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2013-09-18 16:38:14 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-18 16:38:14 -0700
commita2a93250f625b776886d3c5d41599abdaddb2e50 (patch)
tree854e190a80301b251aa331a3854fce6e1def6a6f /fs_mgr
parent9f25b565f716d865597dd24761137a93f08d4bb1 (diff)
parentc67bd8d7cd9b43a5a5ef249ea787ac9786359d22 (diff)
downloadsystem_core-a2a93250f625b776886d3c5d41599abdaddb2e50.tar.gz
system_core-a2a93250f625b776886d3c5d41599abdaddb2e50.tar.bz2
system_core-a2a93250f625b776886d3c5d41599abdaddb2e50.zip
am c67bd8d7: am a208ea63: Merge "Fix fstab memory leak"
* commit 'c67bd8d7cd9b43a5a5ef249ea787ac9786359d22': Fix fstab memory leak
Diffstat (limited to 'fs_mgr')
-rw-r--r--fs_mgr/fs_mgr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs_mgr/fs_mgr.c b/fs_mgr/fs_mgr.c
index dabbc2759..9a84a4ec5 100644
--- a/fs_mgr/fs_mgr.c
+++ b/fs_mgr/fs_mgr.c
@@ -244,7 +244,7 @@ struct fstab *fs_mgr_read_fstab(const char *fstab_path)
char *line = NULL;
const char *delim = " \t";
char *save_ptr, *p;
- struct fstab *fstab;
+ struct fstab *fstab = NULL;
struct fstab_rec *recs;
struct fs_mgr_flag_values flag_vals;
#define FS_OPTIONS_LEN 1024
@@ -363,7 +363,10 @@ struct fstab *fs_mgr_read_fstab(const char *fstab_path)
return fstab;
err:
+ fclose(fstab_file);
free(line);
+ if (fstab)
+ fs_mgr_free_fstab(fstab);
return NULL;
}
@@ -379,7 +382,6 @@ void fs_mgr_free_fstab(struct fstab *fstab)
free(fstab->recs[i].fs_options);
free(fstab->recs[i].key_loc);
free(fstab->recs[i].label);
- i++;
}
/* Free the fstab_recs array created by calloc(3) */