diff options
| author | Xinchen Hui <laruence@php.net> | 2015-07-07 21:37:35 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@php.net> | 2015-07-07 21:37:35 +0800 |
| commit | 26471eb69c3cd9e8162ff3b398d33919d9075191 (patch) | |
| tree | 7ffda25985a415f2dd372e822a5de1fac05cb38f /ext/sqlite3/sqlite3.c | |
| parent | e41f600365fe9f27727a62a850a4d55416ae856f (diff) | |
| download | php-git-26471eb69c3cd9e8162ff3b398d33919d9075191.tar.gz | |
Fixed bug #69972 (Use-after-free vulnerability in sqlite3SafetyCheckSickOrOk())
Diffstat (limited to 'ext/sqlite3/sqlite3.c')
| -rw-r--r-- | ext/sqlite3/sqlite3.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 58ab5e80a1..16319a7341 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -287,7 +287,11 @@ PHP_METHOD(sqlite3, lastErrorCode) return; } - RETURN_LONG(sqlite3_errcode(db_obj->db)); + if (db_obj->initialised) { + RETURN_LONG(sqlite3_errcode(db_obj->db)); + } else { + RETURN_LONG(0); + } } /* }}} */ @@ -305,7 +309,11 @@ PHP_METHOD(sqlite3, lastErrorMsg) return; } - RETVAL_STRING((char *)sqlite3_errmsg(db_obj->db), 1); + if (db_obj->initialised) { + RETURN_STRING((char *)sqlite3_errmsg(db_obj->db), 1); + } else { + RETURN_EMPTY_STRING(); + } } /* }}} */ |
