diff options
| author | Stanislav Malyshev <stas@php.net> | 2007-09-12 21:21:18 +0000 |
|---|---|---|
| committer | Stanislav Malyshev <stas@php.net> | 2007-09-12 21:21:18 +0000 |
| commit | 1f45d49a0c45c631a9e76ec20fcff492fa78f59b (patch) | |
| tree | c31936a321b11db9df7d3b8cb44778aa7d20290d /ext/pdo | |
| parent | 910850be511805f42cdf89725a14ffcaa13f7804 (diff) | |
| download | php-git-1f45d49a0c45c631a9e76ec20fcff492fa78f59b.tar.gz | |
fix crash if stream is empty and reader function sets buffer as null
Diffstat (limited to 'ext/pdo')
| -rwxr-xr-x | ext/pdo/pdo_stmt.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index ca9120550b..ef86c7e1ac 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -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); |
