@@ -411,7 +411,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
411411pset .popt .topt .format = PRINT_UNALIGNED ;
412412break ;
413413case 'c' :
414- options -> action_string = optarg ;
414+ options -> action_string = pg_strdup ( optarg ) ;
415415if (optarg [0 ]== '\\' )
416416{
417417options -> action = ACT_SINGLE_SLASH ;
@@ -421,7 +421,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
421421options -> action = ACT_SINGLE_QUERY ;
422422break ;
423423case 'd' :
424- options -> dbname = optarg ;
424+ options -> dbname = pg_strdup ( optarg ) ;
425425break ;
426426case 'e' :
427427SetVariable (pset .vars ,"ECHO" ,"queries" );
@@ -431,14 +431,14 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
431431break ;
432432case 'f' :
433433options -> action = ACT_FILE ;
434- options -> action_string = optarg ;
434+ options -> action_string = pg_strdup ( optarg ) ;
435435break ;
436436case 'F' :
437437pset .popt .topt .fieldSep .separator = pg_strdup (optarg );
438438pset .popt .topt .fieldSep .separator_zero = false;
439439break ;
440440case 'h' :
441- options -> host = optarg ;
441+ options -> host = pg_strdup ( optarg ) ;
442442break ;
443443case 'H' :
444444pset .popt .topt .format = PRINT_HTML ;
@@ -447,7 +447,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
447447options -> action = ACT_LIST_DB ;
448448break ;
449449case 'L' :
450- options -> logfilename = optarg ;
450+ options -> logfilename = pg_strdup ( optarg ) ;
451451break ;
452452case 'n' :
453453options -> no_readline = true;
@@ -456,7 +456,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
456456setQFout (optarg );
457457break ;
458458case 'p' :
459- options -> port = optarg ;
459+ options -> port = pg_strdup ( optarg ) ;
460460break ;
461461case 'P' :
462462{
@@ -503,7 +503,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
503503pset .popt .topt .tableAttr = pg_strdup (optarg );
504504break ;
505505case 'U' :
506- options -> username = optarg ;
506+ options -> username = pg_strdup ( optarg ) ;
507507break ;
508508case 'v' :
509509{