From fc6f7bfcf36a313d712bb08b0fae6a1d793c0333 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 16 Sep 2014 20:44:45 +0200 Subject: [PATCH] fix signed/unsigned mismatch --- ext/spl/spl_directory.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index 0694e8f335..293be0b0dd 100644 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -2883,7 +2883,12 @@ SPL_METHOD(SplFileObject, fwrite) } if (ZEND_NUM_ARGS() > 1) { - str_len = MAX(0, MIN(length, str_len)); + if (length >= 0) { + str_len = MAX(0, MIN((size_t)length, str_len)); + } else { + /* Negative length given, nothing to write */ + str_len = 0; + } } if (!str_len) { RETURN_LONG(0); -- 2.50.1