diff options
| author | Wez Furlong <wez@php.net> | 2005-01-19 03:45:21 +0000 |
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2005-01-19 03:45:21 +0000 |
| commit | ffd35bb63d3ba51a3eaa6fc49d17a0567c5d6bfd (patch) | |
| tree | 72d16f7aefba986f53b2d2537183ceefc3071230 /ext/pdo_odbc/odbc_driver.c | |
| parent | a536e31fb118f24d31bcb14ef9de218e6511a259 (diff) | |
| download | php-git-ffd35bb63d3ba51a3eaa6fc49d17a0567c5d6bfd.tar.gz | |
allow static linkage.
Avoid segv when no username is passed
Diffstat (limited to 'ext/pdo_odbc/odbc_driver.c')
| -rwxr-xr-x | ext/pdo_odbc/odbc_driver.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c index cdd55223f1..ced91d6fbb 100755 --- a/ext/pdo_odbc/odbc_driver.c +++ b/ext/pdo_odbc/odbc_driver.c @@ -334,7 +334,8 @@ static int pdo_odbc_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_D use_direct = 1; /* Force UID and PWD to be set in the DSN */ - if (*dbh->username && !strstr(dbh->data_source, "uid") && !strstr(dbh->data_source, "UID")) { + if (dbh->username && *dbh->username && !strstr(dbh->data_source, "uid") + && !strstr(dbh->data_source, "UID")) { char *dsn = pemalloc(strlen(dbh->data_source) + strlen(dbh->username) + strlen(dbh->password) + sizeof(";UID=;PWD="), dbh->is_persistent); sprintf(dsn, "%s;UID=%s;PWD=%s", dbh->data_source, dbh->username, dbh->password); pefree((char*)dbh->data_source, dbh->is_persistent); |
