Re: com php-src: Add object initialization checks for sqlite3 classes: ext/sqlite3/sqlite3.c

From: Date: Sun, 27 Jul 2014 08:45:20 +0000
Subject: Re: com php-src: Add object initialization checks for sqlite3 classes: ext/sqlite3/sqlite3.c
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-79595@lists.php.net to get a copy of this message
On Sun, Jul 27, 2014 at 1:57 AM, Stanislav Malyshev <stas@php.net> wrote: > Commit: 403eca4173da5c04202ee0b3c2ed2d949fe413b3 > Author: Stanislav Malyshev <stas@php.net> Sat, 26 Jul 2014 > 15:52:51 -0700 > Parents: a68ef0a117b0e7da4fe9ab1ee098c6e5e0553c4a > Branches: PHP-5.6 master > > Link: > > http://git.php.net/?p=php-src.git;a=commitdiff;h=403eca4173da5c04202ee0b3c2ed2d949fe413b3 > > Log: > Add object initialization checks for sqlite3 classes > > Changed paths: > M ext/sqlite3/sqlite3.c > > > Diff: > diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c > index 0c9041e..33c855f 100644 > --- a/ext/sqlite3/sqlite3.c > +++ b/ext/sqlite3/sqlite3.c > @@ -54,7 +54,7 @@ static void php_sqlite3_error(php_sqlite3_db_object > *db_obj, char *format, ...) > vspprintf(&message, 0, format, arg); > va_end(arg); > > - if (db_obj->exception) { > + if (db_obj && db_obj->exception) { > zend_throw_exception(zend_exception_get_default(TSRMLS_C), > message, 0 TSRMLS_CC); > } else { > php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", message); > @@ -67,11 +67,17 @@ static void php_sqlite3_error(php_sqlite3_db_object > *db_obj, char *format, ...) > /* }}} */ > > #define SQLITE3_CHECK_INITIALIZED(db_obj, member, class_name) \ > - if (!(member)) { \ > + if (!(db_obj) || !(member)) { \ > php_sqlite3_error(db_obj, "The " #class_name " object has > not been correctly initialised"); \ > RETURN_FALSE; \ > } > > +#define SQLITE3_CHECK_INITIALIZED_STMT(member, class_name) \ > + if (!(member)) { \ > + php_error_docref(NULL TSRMLS_CC, E_WARNING, "The " > #class_name " object has not been correctly initialised"); \ > + RETURN_FALSE; \ > + } > + > /* {{{ PHP_INI > */ > PHP_INI_BEGIN() > @@ -191,12 +197,14 @@ PHP_METHOD(sqlite3, close) > } > > if (db_obj->initialised) { > - zend_llist_clean(&(db_obj->free_list)); > - errcode = sqlite3_close(db_obj->db); > - if (errcode != SQLITE_OK) { > - php_sqlite3_error(db_obj, "Unable to close > database: %d, %s", errcode, sqlite3_errmsg(db_obj->db)); > - RETURN_FALSE; > - } > + zend_llist_clean(&(db_obj->free_list)); > + if(db_obj->db) { > + errcode = sqlite3_close(db_obj->db); > + if (errcode != SQLITE_OK) { > + php_sqlite3_error(db_obj, "Unable to close > database: %d, %s", errcode, sqlite3_errmsg(db_obj->db)); > + RETURN_FALSE; > + } > + } > Whitespace looks messed up here. Nikita

« previous php.cvs (#79595) next »