mirror of
https://github.com/postgres/postgres.git
synced 2025-08-05 07:41:25 +03:00
Fix \g filename. Free allocated memory and don't use memory that has
been freed.
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.29 1996/11/14 16:08:03 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.30 1996/11/20 22:34:36 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@@ -475,6 +475,7 @@ SendQuery(bool * success_p, PsqlSettings * settings, const char *query,
|
|||||||
pclose(fp);
|
pclose(fp);
|
||||||
else
|
else
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
free(settings->gfname);
|
||||||
settings->gfname = NULL;
|
settings->gfname = NULL;
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
@@ -1011,7 +1012,11 @@ HandleSlashCmds(PsqlSettings * settings,
|
|||||||
if (settings->opt.caption)
|
if (settings->opt.caption)
|
||||||
free(settings->opt.caption);
|
free(settings->opt.caption);
|
||||||
if (!optarg)
|
if (!optarg)
|
||||||
|
{
|
||||||
|
if (settings->opt.caption)
|
||||||
|
free(settings->opt.caption);
|
||||||
settings->opt.caption = NULL;
|
settings->opt.caption = NULL;
|
||||||
|
}
|
||||||
else if (!(settings->opt.caption = strdup(optarg))) {
|
else if (!(settings->opt.caption = strdup(optarg))) {
|
||||||
perror("malloc");
|
perror("malloc");
|
||||||
exit(1);
|
exit(1);
|
||||||
@@ -1093,7 +1098,7 @@ HandleSlashCmds(PsqlSettings * settings,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'g': /* \g means send query */
|
case 'g': /* \g means send query */
|
||||||
settings->gfname = optarg;
|
settings->gfname = strdup(optarg);
|
||||||
status = 0;
|
status = 0;
|
||||||
break;
|
break;
|
||||||
case 'h': /* help */
|
case 'h': /* help */
|
||||||
@@ -1151,11 +1156,13 @@ HandleSlashCmds(PsqlSettings * settings,
|
|||||||
if (toggle(settings, &settings->opt.standard, "standard SQL separaters and padding")) {
|
if (toggle(settings, &settings->opt.standard, "standard SQL separaters and padding")) {
|
||||||
settings->opt.html3 = settings->opt.expanded = 0;
|
settings->opt.html3 = settings->opt.expanded = 0;
|
||||||
settings->opt.align = settings->opt.header = 1;
|
settings->opt.align = settings->opt.header = 1;
|
||||||
|
if (settings->opt.fieldSep)
|
||||||
free(settings->opt.fieldSep);
|
free(settings->opt.fieldSep);
|
||||||
settings->opt.fieldSep = strdup("|");
|
settings->opt.fieldSep = strdup("|");
|
||||||
if (!settings->quiet)
|
if (!settings->quiet)
|
||||||
fprintf(stderr, "field separater changed to '%s'\n", settings->opt.fieldSep);
|
fprintf(stderr, "field separater changed to '%s'\n", settings->opt.fieldSep);
|
||||||
} else {
|
} else {
|
||||||
|
if (settings->opt.fieldSep)
|
||||||
free(settings->opt.fieldSep);
|
free(settings->opt.fieldSep);
|
||||||
settings->opt.fieldSep = strdup(DEFAULT_FIELD_SEP);
|
settings->opt.fieldSep = strdup(DEFAULT_FIELD_SEP);
|
||||||
if (!settings->quiet)
|
if (!settings->quiet)
|
||||||
|
Reference in New Issue
Block a user