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

index b80beba4d4a6e04bb5b221909301bcb5c306b26b..f403105a928348bf90edbe13924a68f2cc343332 100644 (file)
@@ -753,6 +753,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;
        }