diff options
| author | Stanley Sufficool <ssufficool@php.net> | 2013-06-03 20:34:47 -0700 |
|---|---|---|
| committer | Stanley Sufficool <ssufficool@php.net> | 2013-06-03 20:34:47 -0700 |
| commit | d8f938c78478c211dc3b5609e9f37d2e2c47896f (patch) | |
| tree | 418748cf4b0067a6b4e7833cb77a9b520840be08 /ext/pdo_dblib/pdo_dblib.c | |
| parent | 3579e81200927b75b2c5f353e016ec26d8884c26 (diff) | |
| download | php-git-d8f938c78478c211dc3b5609e9f37d2e2c47896f.tar.gz | |
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.
Diffstat (limited to 'ext/pdo_dblib/pdo_dblib.c')
| -rw-r--r-- | ext/pdo_dblib/pdo_dblib.c | 8 |
1 files changed, 6 insertions, 2 deletions
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; |
