@@ -1029,7 +1029,6 @@ static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
1029
1029
pdo_pgsql_db_handle * H ;
1030
1030
int ret = 0 ;
1031
1031
char * conn_str , * p , * e ;
1032
- char * tmp_pass ;
1033
1032
long connect_timeout = 30 ;
1034
1033
1035
1034
H = pecalloc (1 , sizeof (pdo_pgsql_db_handle ), dbh -> is_persistent );
@@ -1051,44 +1050,18 @@ static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
1051
1050
connect_timeout = pdo_attr_lval (driver_options , PDO_ATTR_TIMEOUT , 30 TSRMLS_CC );
1052
1051
}
1053
1052
1054
- if (dbh -> password ) {
1055
- if (dbh -> password [0 ] != '\'' && dbh -> password [strlen (dbh -> password ) - 1 ] != '\'' ) {
1056
- char * pwd = dbh -> password ;
1057
- int pos = 1 ;
1058
-
1059
- tmp_pass = safe_emalloc (2 , strlen (dbh -> password ), 3 );
1060
- tmp_pass [0 ] = '\'' ;
1061
-
1062
- while (* pwd != '\0' ) {
1063
- if (* pwd == '\\' || * pwd == '\'' ) {
1064
- tmp_pass [pos ++ ] = '\\' ;
1065
- }
1066
-
1067
- tmp_pass [pos ++ ] = * pwd ++ ;
1068
- }
1069
-
1070
- tmp_pass [pos ++ ] = '\'' ;
1071
- tmp_pass [pos ] = '\0' ;
1072
- } else {
1073
- tmp_pass = dbh -> password ;
1074
- }
1075
- }
1076
-
1077
1053
/* support both full connection string & connection string + login and/or password */
1078
1054
if (dbh -> username && dbh -> password ) {
1079
- spprintf (& conn_str , 0 , "%s user=%s password=%s connect_timeout=%ld" , dbh -> data_source , dbh -> username , tmp_pass , connect_timeout );
1055
+ spprintf (& conn_str , 0 , "%s user=%s password=%s connect_timeout=%ld" , dbh -> data_source , dbh -> username , dbh -> password , connect_timeout );
1080
1056
} else if (dbh -> username ) {
1081
1057
spprintf (& conn_str , 0 , "%s user=%s connect_timeout=%ld" , dbh -> data_source , dbh -> username , connect_timeout );
1082
1058
} else if (dbh -> password ) {
1083
- spprintf (& conn_str , 0 , "%s password=%s connect_timeout=%ld" , dbh -> data_source , tmp_pass , connect_timeout );
1059
+ spprintf (& conn_str , 0 , "%s password=%s connect_timeout=%ld" , dbh -> data_source , dbh -> password , connect_timeout );
1084
1060
} else {
1085
1061
spprintf (& conn_str , 0 , "%s connect_timeout=%ld" , (char * ) dbh -> data_source , connect_timeout );
1086
1062
}
1087
1063
1088
1064
H -> server = PQconnectdb (conn_str );
1089
- if (dbh -> password && tmp_pass != dbh -> password ) {
1090
- efree (tmp_pass );
1091
- }
1092
1065
1093
1066
efree (conn_str );
1094
1067
0 commit comments