Merge "Fix fstab memory leak"

This commit is contained in:
Elliott Hughes 2013-09-18 23:35:01 +00:00 committed by Gerrit Code Review
commit a208ea6301

View file

@ -222,7 +222,7 @@ struct fstab *fs_mgr_read_fstab(const char *fstab_path)
char *line = NULL; char *line = NULL;
const char *delim = " \t"; const char *delim = " \t";
char *save_ptr, *p; char *save_ptr, *p;
struct fstab *fstab; struct fstab *fstab = NULL;
struct fstab_rec *recs; struct fstab_rec *recs;
char *key_loc; char *key_loc;
long long part_length; long long part_length;
@ -345,7 +345,10 @@ struct fstab *fs_mgr_read_fstab(const char *fstab_path)
return fstab; return fstab;
err: err:
fclose(fstab_file);
free(line); free(line);
if (fstab)
fs_mgr_free_fstab(fstab);
return NULL; return NULL;
} }
@ -361,7 +364,6 @@ void fs_mgr_free_fstab(struct fstab *fstab)
free(fstab->recs[i].fs_options); free(fstab->recs[i].fs_options);
free(fstab->recs[i].key_loc); free(fstab->recs[i].key_loc);
free(fstab->recs[i].label); free(fstab->recs[i].label);
i++;
} }
/* Free the fstab_recs array created by calloc(3) */ /* Free the fstab_recs array created by calloc(3) */