Skip to content

Commit 5eb4fad

Browse files
committed
Prevent psql optarg free-ing
1 parent 741b497 commit 5eb4fad

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/bin/psql/psql.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.76 1997/06/29 17:29:28 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.77 1997/07/14 22:08:56 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -1641,7 +1641,7 @@ main(int argc, char **argv)
16411641
fe_setauthsvc(optarg, errbuf);
16421642
break;
16431643
case 'c':
1644-
singleQuery = optarg;
1644+
singleQuery = strdup(optarg);
16451645
if (singleQuery[0] == '\\') {
16461646
singleSlashCmd = 1;
16471647
}
@@ -1656,7 +1656,7 @@ main(int argc, char **argv)
16561656
qfilename = optarg;
16571657
break;
16581658
case 'F':
1659-
settings.opt.fieldSep = optarg;
1659+
settings.opt.fieldSep = strdup(optarg);
16601660
break;
16611661
case 'l':
16621662
listDatabases = 1;
@@ -1689,7 +1689,7 @@ main(int argc, char **argv)
16891689
settings.opt.header = 0;
16901690
break;
16911691
case 'T':
1692-
settings.opt.tableOpt = optarg;
1692+
settings.opt.tableOpt = strdup(optarg);
16931693
break;
16941694
case 'u':
16951695
settings.getPassword = 1;
@@ -1759,8 +1759,7 @@ main(int argc, char **argv)
17591759
sprintf(line, "\\i %s", qfilename);
17601760
}
17611761
HandleSlashCmds(&settings, line, "");
1762-
if (!singleSlashCmd) free (line); /* PURIFY */
1763-
1762+
free (line); /* PURIFY */
17641763
} else {
17651764
if (singleQuery) {
17661765
bool success; /* The query succeeded at the backend */

0 commit comments

Comments
 (0)