From ffd35bb63d3ba51a3eaa6fc49d17a0567c5d6bfd Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Wed, 19 Jan 2005 03:45:21 +0000 Subject: [PATCH] allow static linkage. Avoid segv when no username is passed --- ext/pdo_odbc/config.m4 | 2 +- ext/pdo_odbc/odbc_driver.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ext/pdo_odbc/config.m4 b/ext/pdo_odbc/config.m4 index ec030e7c1fb..ff78b48171b 100755 --- a/ext/pdo_odbc/config.m4 +++ b/ext/pdo_odbc/config.m4 @@ -130,7 +130,7 @@ functions required for PDO support. PHP_EVAL_LIBLINE($PDO_ODBC_LIBS $PDO_ODBC_LFLAGS, [PDO_ODBC_SHARED_LIBADD]) PHP_SUBST(PDO_ODBC_SHARED_LIBADD) - PHP_NEW_EXTENSION(pdo_odbc, pdo_odbc.c odbc_driver.c odbc_stmt.c, yes,,-I\$prefix/include/php/ext $PDO_ODBC_INCLUDE) + PHP_NEW_EXTENSION(pdo_odbc, pdo_odbc.c odbc_driver.c odbc_stmt.c, $ext_shared,,-I\$prefix/include/php/ext $PDO_ODBC_INCLUDE) else AC_MSG_ERROR( Unknown ODBC flavour $PHP_PDO_ODBC diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c index cdd55223f19..ced91d6fbbd 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);