]> granicus.if.org Git - php/commitdiff
fix crash if stream is empty and reader function sets buffer as null
authorStanislav Malyshev <stas@php.net>
Wed, 12 Sep 2007 21:21:18 +0000 (21:21 +0000)
committerStanislav Malyshev <stas@php.net>
Wed, 12 Sep 2007 21:21:18 +0000 (21:21 +0000)
ext/pdo/pdo_stmt.c

index ca9120550b12cf7bff06e621dcaed8b13c9b01ec..ef86c7e1acbb945c979d78e4e2eca9c55db45198 100755 (executable)
@@ -569,7 +569,11 @@ static inline void fetch_value(pdo_stmt_t *stmt, zval *dest, int colno, int *typ
                                        char *buf = NULL;
                                        size_t len;
                                        len = php_stream_copy_to_mem((php_stream*)value, &buf, PHP_STREAM_COPY_ALL, 0);
-                                       ZVAL_STRINGL(dest, buf, len, 0);
+                                       if(buf == NULL) {
+                                               ZVAL_EMPTY_STRING(dest);
+                                       } else {
+                                               ZVAL_STRINGL(dest, buf, len, 0);
+                                       }
                                        php_stream_close((php_stream*)value);
                                } else {
                                        php_stream_to_zval((php_stream*)value, dest);