]> granicus.if.org Git - php/commitdiff
MFB: fix segfault when invalid field offset is passed to mysqli_fetch_field_direct()
authorAntony Dovgal <tony2001@php.net>
Thu, 27 Jan 2005 01:14:43 +0000 (01:14 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 27 Jan 2005 01:14:43 +0000 (01:14 +0000)
ext/mysqli/mysqli_api.c

index e958434f313883015b32cd52fa3766dcded360df..8082291d386966e363334d88a9e9466ee00b8dd1 100644 (file)
@@ -752,6 +752,11 @@ PHP_FUNCTION(mysqli_fetch_field_direct)
        }
 
        MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result"); 
+       
+       if (offset < 0 || offset >= mysql_num_fields(result)) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field offset is invalid for resultset");
+               RETURN_FALSE; 
+       }
 
        if (!(field = mysql_fetch_field_direct(result,offset))) {
                RETURN_FALSE;