Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6399c74

Browse files
committed
Fix \g filename. Free allocated memory and don't use memory that has
been freed.
1 parent9d45f22 commit6399c74

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

‎src/bin/psql/psql.c

Lines changed: 12 additions & 5 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.29 1996/11/14 16:08:03 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.30 1996/11/20 22:34:36 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -475,6 +475,7 @@ SendQuery(bool * success_p, PsqlSettings * settings, const char *query,
475475
pclose(fp);
476476
else
477477
fclose(fp);
478+
free(settings->gfname);
478479
settings->gfname=NULL;
479480
break;
480481
}else {
@@ -1011,7 +1012,11 @@ HandleSlashCmds(PsqlSettings * settings,
10111012
if (settings->opt.caption)
10121013
free(settings->opt.caption);
10131014
if (!optarg)
1015+
{
1016+
if (settings->opt.caption)
1017+
free(settings->opt.caption);
10141018
settings->opt.caption=NULL;
1019+
}
10151020
elseif (!(settings->opt.caption=strdup(optarg))) {
10161021
perror("malloc");
10171022
exit(1);
@@ -1083,7 +1088,7 @@ HandleSlashCmds(PsqlSettings * settings,
10831088
if (optarg)
10841089
fs=optarg;
10851090
if (settings->opt.fieldSep);
1086-
free(settings->opt.fieldSep);
1091+
free(settings->opt.fieldSep);
10871092
if (!(settings->opt.fieldSep=strdup(fs))) {
10881093
perror("malloc");
10891094
exit(1);
@@ -1093,7 +1098,7 @@ HandleSlashCmds(PsqlSettings * settings,
10931098
break;
10941099
}
10951100
case'g':/* \g means send query */
1096-
settings->gfname=optarg;
1101+
settings->gfname=strdup(optarg);
10971102
status=0;
10981103
break;
10991104
case'h':/* help */
@@ -1151,12 +1156,14 @@ HandleSlashCmds(PsqlSettings * settings,
11511156
if (toggle(settings,&settings->opt.standard,"standard SQL separaters and padding")) {
11521157
settings->opt.html3=settings->opt.expanded=0;
11531158
settings->opt.align=settings->opt.header=1;
1154-
free(settings->opt.fieldSep);
1159+
if (settings->opt.fieldSep)
1160+
free(settings->opt.fieldSep);
11551161
settings->opt.fieldSep=strdup("|");
11561162
if (!settings->quiet)
11571163
fprintf(stderr,"field separater changed to '%s'\n",settings->opt.fieldSep);
11581164
}else {
1159-
free(settings->opt.fieldSep);
1165+
if (settings->opt.fieldSep)
1166+
free(settings->opt.fieldSep);
11601167
settings->opt.fieldSep=strdup(DEFAULT_FIELD_SEP);
11611168
if (!settings->quiet)
11621169
fprintf(stderr,"field separater changed to '%s'\n",settings->opt.fieldSep);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp