Fix double frees in ecpg.
authorMichael Meskes <meskes@postgresql.org>
Tue, 13 Mar 2018 23:47:49 +0000 (00:47 +0100)
committerMichael Meskes <meskes@postgresql.org>
Tue, 13 Mar 2018 23:51:17 +0000 (00:51 +0100)
Patch by Patrick Krecker <patrick@judicata.com>

src/interfaces/ecpg/preproc/ecpg.c

index cd770c8b1569531fcceddd204484632f8d57e780..0704837396f7678bb8248d2023e88c4754e379de 100644 (file)
@@ -327,6 +327,7 @@ main(int argc, char *const argv[])
                        fprintf(stderr, _("%s: could not open file \"%s\": %s\n"),
                                progname, output_filename, strerror(errno));
                        free(output_filename);
+                       output_filename = NULL;
                        free(input_filename);
                        continue;
                    }
@@ -474,8 +475,10 @@ main(int argc, char *const argv[])
                }
            }
 
-           if (output_filename && out_option == 0)
+           if (output_filename && out_option == 0) {
                free(output_filename);
+               output_filename = NULL;
+           }
 
            free(input_filename);
        }