]> granicus.if.org Git - php/commitdiff
Defensive check
authorAndrey Hristov <andrey@php.net>
Tue, 20 May 2014 13:41:14 +0000 (16:41 +0300)
committerAndrey Hristov <andrey@php.net>
Tue, 20 May 2014 13:41:14 +0000 (16:41 +0300)
ext/mysqlnd/mysqlnd.c

index b6d36221cf5c5eb098f39fc161482986bca02b48..0289cd326c3c875dfe45fa4fa78ead0df7413f0f 100644 (file)
@@ -2669,24 +2669,24 @@ static void
 MYSQLND_METHOD(mysqlnd_conn_data, tx_cor_options_to_string)(const MYSQLND_CONN_DATA * const conn, smart_str * str, const unsigned int mode TSRMLS_DC)
 {
        if (mode & TRANS_COR_AND_CHAIN && !(mode & TRANS_COR_AND_NO_CHAIN)) {
-               if (str->s->len) {
+               if (str->s && str->s->len) {
                        smart_str_appendl(str, " ", sizeof(" ") - 1);
                }
                smart_str_appendl(str, "AND CHAIN", sizeof("AND CHAIN") - 1);
        } else if (mode & TRANS_COR_AND_NO_CHAIN && !(mode & TRANS_COR_AND_CHAIN)) {
-               if (str->s->len) {
+               if (str->s && str->s->len) {
                        smart_str_appendl(str, " ", sizeof(" ") - 1);
                }
                smart_str_appendl(str, "AND NO CHAIN", sizeof("AND NO CHAIN") - 1);
        }
 
        if (mode & TRANS_COR_RELEASE && !(mode & TRANS_COR_NO_RELEASE)) {
-               if (str->s->len) {
+               if (str->s && str->s->len) {
                        smart_str_appendl(str, " ", sizeof(" ") - 1);
                }
                smart_str_appendl(str, "RELEASE", sizeof("RELEASE") - 1);
        } else if (mode & TRANS_COR_NO_RELEASE && !(mode & TRANS_COR_RELEASE)) {
-               if (str->s->len) {
+               if (str->s && str->s->len) {
                        smart_str_appendl(str, " ", sizeof(" ") - 1);
                }
                smart_str_appendl(str, "NO RELEASE", sizeof("NO RELEASE") - 1);