cvs: php4 /ext/fbsql php_fbsql.c
| From: | Frank M. Kromann | Date: | Wed, 17 Oct 2001 18:36:42 +0000 |
| Subject: | cvs: php4 /ext/fbsql php_fbsql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-7841@lists.php.net to get a copy of this message | ||
fmk Wed Oct 17 14:36:42 2001 EDT
Modified files:
/php4/ext/fbsql php_fbsql.c
Log:
Return a warning when fbsql_read_blob or fbsql_read_clob is called with an invalid handle
Index: php4/ext/fbsql/php_fbsql.c
diff -u php4/ext/fbsql/php_fbsql.c:1.57 php4/ext/fbsql/php_fbsql.c:1.58
--- php4/ext/fbsql/php_fbsql.c:1.57 Tue Oct 16 19:08:38 2001
+++ php4/ext/fbsql/php_fbsql.c Wed Oct 17 14:36:32 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_fbsql.c,v 1.57 2001/10/16 23:08:38 fmk Exp $ */
+/* $Id: php_fbsql.c,v 1.58 2001/10/17 18:36:32 fmk Exp $ */
/* TODO:
*
@@ -1031,8 +1031,13 @@
ZEND_FETCH_RESOURCE2(phpLink, PHPFBLink *, fbsql_link_index, id, "FrontBase-Link",
le_link, le_plink);
convert_to_string_ex(lob_handle);
- length = fbcbhBlobSize((FBCBlobHandle *)Z_STRVAL_PP(lob_handle));
+ if (Z_STRLEN_PP(lob_handle) != 27 || Z_STRVAL_PP(lob_handle)[0] != '@') {
+ if (FB_SQL_G(generateWarnings)) php_error(E_WARNING, "The handle is invalid");
+ RETURN_FALSE;
+ }
+
+ length = fbcbhBlobSize((FBCBlobHandle *)Z_STRVAL_PP(lob_handle));
if (lob_type == 0)
value = estrndup((char *)fbcdcReadBLOB(phpLink->connection, (FBCBlobHandle
*)Z_STRVAL_PP(lob_handle)), length);
else