From d8f938c78478c211dc3b5609e9f37d2e2c47896f Mon Sep 17 00:00:00 2001 From: Stanley Sufficool Date: Mon, 3 Jun 2013 20:34:47 -0700 Subject: FIX BUG #55647, #60512, #60512, #61900, #64338, #64808, #63638 Return an error on passwords longer than 30 chars instead of segfault. Set error and message handlers properly. Do not segfault in out of bound colnums in getColumnMeta() Fix DBSETOPT to use a blank string instead of NULL to stop FreeTDS complaints. Use DBSETLDBNAME for compatibillity with SQL Azure. --- ext/pdo_dblib/pdo_dblib.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'ext/pdo_dblib/pdo_dblib.c') diff --git a/ext/pdo_dblib/pdo_dblib.c b/ext/pdo_dblib/pdo_dblib.c index ed79aea20d..bc5d364ed3 100644 --- a/ext/pdo_dblib/pdo_dblib.c +++ b/ext/pdo_dblib/pdo_dblib.c @@ -93,8 +93,12 @@ int error_handler(DBPROCESS *dbproc, int severity, int dberr, char *state = "HY000"; TSRMLS_FETCH(); - einfo = (pdo_dblib_err*)dbgetuserdata(dbproc); - if (!einfo) einfo = &DBLIB_G(err); + if(dbproc) { + einfo = (pdo_dblib_err*)dbgetuserdata(dbproc); + if (!einfo) einfo = &DBLIB_G(err); + } else { + einfo = &DBLIB_G(err); + } einfo->severity = severity; einfo->oserr = oserr; -- cgit v1.2.1