From: Ilia Alshanetsky Date: Wed, 10 Dec 2008 20:53:58 +0000 (+0000) Subject: MFB: Fixed bug #46798 (Crash in mssql extension when retrieving a NULL value X-Git-Tag: php-5.4.0alpha1~191^2~4838 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2c16adedf781d2af94009f2030c5addc101a977f;p=php MFB: Fixed bug #46798 (Crash in mssql extension when retrieving a NULL value inside a binary or image column type) --- diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 08f6e4242e..d2426865c0 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -977,11 +977,14 @@ static void php_mssql_get_column_content_with_type(mssql_link *mssql_ptr,int off unsigned char *res_buf; int res_length = dbdatlen(mssql_ptr->link, offset); - res_buf = (unsigned char *) emalloc(res_length+1); - bin = ((DBBINARY *)dbdata(mssql_ptr->link, offset)); - memcpy(res_buf,bin,res_length); - res_buf[res_length] = '\0'; - ZVAL_STRINGL(result, res_buf, res_length, 0); + if (!res_length) { + ZVAL_NULL(result); + } else { + bin = ((DBBINARY *)dbdata(mssql_ptr->link, offset)); + res_buf = (unsigned char *) emalloc(res_length+1); + memcpy(res_buf,bin,res_length); + res_buf[res_length] = '\0'; + ZVAL_STRINGL(result, res_buf, res_length, 0); } break; case SQLNUMERIC: