]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/rea.c
Plug FILE leak on show_first_tel() error paths
[empserver] / src / lib / commands / rea.c
index 687279678399644f09492695e584a6a626edd006..8592d2512ce0adb6e25a1a04fa77b7d824074e10 100644 (file)
@@ -209,6 +209,7 @@ int
 show_first_tel(char *fname)
 {
     FILE *fp;
+    int ret;
     struct telstr tgm;
 
     if ((fp = fopen(fname, "rb")) == NULL) {
@@ -219,12 +220,15 @@ show_first_tel(char *fname)
            return -1;
        }
     }
-    if (tel_read_header(fp, fname, &tgm) < 0)
-       return -1;
-    if (tel_read_body(fp, fname, &tgm, print_sink, NULL) < 0)
-       return -1;
+
+    ret = tel_read_header(fp, fname, &tgm);
+    if (ret < 0)
+       goto out;
+    ret = tel_read_body(fp, fname, &tgm, print_sink, NULL);
+
+out:
     fclose(fp);
-    return 0;
+    return ret;
 }
 
 static int