From: Gourav Mittal Date: Tue, 4 Sep 2018 10:29:33 +0000 (+0530) Subject: Memory Leak: File descriptor not closed. X-Git-Tag: submit/tizen/20180914.082214~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F90%2F188390%2F5;p=sdk%2Ftarget%2Fsdbd.git Memory Leak: File descriptor not closed. Change-Id: I3861b4dcd6ec8934c76afc9de81f2e0922d7802d Signed-off-by: Gourav Mittal --- diff --git a/src/extract_descs_strings.c b/src/extract_descs_strings.c index 64d5b7e..4e538ac 100644 --- a/src/extract_descs_strings.c +++ b/src/extract_descs_strings.c @@ -8,8 +8,8 @@ int main() { - int ret; - FILE *descs, *strs; + int ret = 0; + FILE *descs = NULL, *strs = NULL; /* open file for descriptors */ descs = fopen("descs","w"); @@ -23,6 +23,10 @@ int main() { strs = fopen("strs", "w"); if (!strs) { ret = -errno; + + if (fclose(descs) != 0) + perror("could not close descriptor"); + perror("could not open file with strings"); return ret; } @@ -30,19 +34,38 @@ int main() { /* write descriptors to file */ ret = fwrite(&descriptors, sizeof(descriptors), 1, descs); if (ret < 0) { + ret = ferror(descs); + + if (fclose(descs) != 0) + perror("could not close descriptor"); + + if (fclose(strs) != 0) + perror("could not close descriptor"); + perror("could not write descriptors"); - return ferror(descs); + return ret; } /* write strings to file */ ret = fwrite(&strings, sizeof(strings), 1, strs); if(ret < 0) { + ret = ferror(strs); + + if (fclose(descs) != 0) + perror("could not close descriptor"); + + if (fclose(strs) != 0) + perror("could not close descriptor"); + perror("could not write strings"); - return ferror(strs); + return ret; } - fclose(descs); - fclose(strs); + if (fclose(descs) != 0) + perror("could not close descriptor"); + + if (fclose(strs) != 0) + perror("could not close descriptor"); return 0; }