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

Commit098dea8

Browse files
committed
Fix core dump on \c.
1 parent656d88c commit098dea8

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

‎src/bin/psql/psql.c

Lines changed: 20 additions & 15 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.65 1997/05/2401:45:17 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.66 1997/05/2414:38:05 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -1088,7 +1088,7 @@ HandleSlashCmds(PsqlSettings * settings,
10881088
optarg=NULL;
10891089

10901090
blank_loc=strcspn(cmd," \t");
1091-
if (blank_loc==0)
1091+
if (blank_loc==0|| !cmd[blank_loc])
10921092
optarg2=NULL;
10931093
else
10941094
optarg2=cmd+blank_loc+strspn(cmd+blank_loc," \t");
@@ -1114,31 +1114,36 @@ HandleSlashCmds(PsqlSettings * settings,
11141114
case'c':{
11151115
if (strncmp(cmd,"copy ",strlen("copy "))==0)
11161116
do_copy(optarg2,settings);
1117-
elseif (strncmp(cmd,"connect ",strlen("connect "))==0) {
1117+
elseif (strncmp(cmd,"connect ",strlen("connect "))==0||
1118+
strcmp(cmd,"connect")==0/* issue error message */) {
11181119
char*optarg3;
11191120
intblank_loc2;
11201121

1121-
blank_loc2=strcspn(optarg2," \t");
1122-
if (blank_loc2==0||*(optarg2+blank_loc2)=='\0')
1123-
optarg3=NULL;
1124-
else {
1125-
optarg3=optarg2+blank_loc2+
1122+
if (optarg2) {
1123+
blank_loc2=strcspn(optarg2," \t");
1124+
if (blank_loc2==0||*(optarg2+blank_loc2)=='\0')
1125+
optarg3=NULL;
1126+
else {
1127+
optarg3=optarg2+blank_loc2+
11261128
strspn(optarg2+blank_loc2," \t");
1127-
*(optarg2+blank_loc2)='\0';
1129+
*(optarg2+blank_loc2)='\0';
1130+
}
11281131
}
11291132
do_connect(optarg2,optarg3,settings);
11301133
}
11311134
else {
11321135
char*optarg3;
11331136
intblank_loc2;
11341137

1135-
blank_loc2=strcspn(optarg," \t");
1136-
if (blank_loc2==0||*(optarg+blank_loc2)=='\0')
1137-
optarg3=NULL;
1138-
else {
1139-
optarg3=optarg+blank_loc2+
1138+
if (optarg) {
1139+
blank_loc2=strcspn(optarg," \t");
1140+
if (blank_loc2==0||*(optarg+blank_loc2)=='\0')
1141+
optarg3=NULL;
1142+
else {
1143+
optarg3=optarg+blank_loc2+
11401144
strspn(optarg+blank_loc2," \t");
1141-
*(optarg+blank_loc2)='\0';
1145+
*(optarg+blank_loc2)='\0';
1146+
}
11421147
}
11431148
do_connect(optarg,optarg3,settings);
11441149
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp