From df67c4e8bd0c7c0f1fc976fad7f6fe5cbc01ef9b Mon Sep 17 00:00:00 2001 From: Joshua Rogers Date: Fri, 16 Jan 2015 23:10:54 +1100 Subject: [PATCH 1/2] Fix bug #68711 Remove useless checks. 'num' is unsigned and cannot be <0. --- ext/dba/libflatfile/flatfile.c | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/ext/dba/libflatfile/flatfile.c b/ext/dba/libflatfile/flatfile.c index 8fd4205e079..e194608f416 100644 --- a/ext/dba/libflatfile/flatfile.c +++ b/ext/dba/libflatfile/flatfile.c @@ -126,9 +126,6 @@ int flatfile_delete(flatfile *dba, datum key_datum TSRMLS_DC) { /* read in the key name */ num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } if (size == num && !memcmp(buf, key, size)) { php_stream_seek(dba->fp, pos, SEEK_SET); @@ -150,9 +147,6 @@ int flatfile_delete(flatfile *dba, datum key_datum TSRMLS_DC) { } /* read in the value */ num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } } efree(buf); return FAILURE; @@ -180,9 +174,7 @@ int flatfile_findkey(flatfile *dba, datum key_datum TSRMLS_DC) { buf = erealloc(buf, buf_size); } num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } + if (size == num) { if (!memcmp(buf, key, size)) { ret = 1; @@ -198,9 +190,6 @@ int flatfile_findkey(flatfile *dba, datum key_datum TSRMLS_DC) { buf = erealloc(buf, buf_size); } num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } } efree(buf); return ret; @@ -226,9 +215,7 @@ datum flatfile_firstkey(flatfile *dba TSRMLS_DC) { buf = erealloc(buf, buf_size); } num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } + if (*(buf) != 0) { dba->CurrentFlatFilePos = php_stream_tell(dba->fp); res.dptr = buf; @@ -244,9 +231,6 @@ datum flatfile_firstkey(flatfile *dba TSRMLS_DC) { buf = erealloc(buf, buf_size); } num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } } efree(buf); res.dptr = NULL; @@ -274,9 +258,7 @@ datum flatfile_nextkey(flatfile *dba TSRMLS_DC) { buf = erealloc(buf, buf_size); } num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } + if (!php_stream_gets(dba->fp, buf, 15)) { break; } @@ -286,9 +268,7 @@ datum flatfile_nextkey(flatfile *dba TSRMLS_DC) { buf = erealloc(buf, buf_size); } num = php_stream_read(dba->fp, buf, num); - if (num < 0) { - break; - } + if (*(buf)!=0) { dba->CurrentFlatFilePos = php_stream_tell(dba->fp); res.dptr = buf; From a40e004553f68fce94dcdcb924d8693e0008e7d5 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 20 Jan 2015 15:09:13 +0100 Subject: [PATCH 2/2] Updated NEWS --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 25f3a604d0f..cc4170cca2a 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,9 @@ PHP NEWS - Date: . Fixed bug #45081 (strtotime incorrectly interprets SGT time zone). (Derick) +- Dba: + . Fixed bug #68711 (useless comparisons). (bugreports at internot dot info) + - Sqlite3: . Fix bug #68260 (SQLite3Result::fetchArray declares wrong required_num_args). (Julien)