--- embedaddon/php/ext/standard/uuencode.c 2013/07/22 01:32:05 1.1.1.3 +++ embedaddon/php/ext/standard/uuencode.c 2014/06/15 20:03:57 1.1.1.4 @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: uuencode.c,v 1.1.1.3 2013/07/22 01:32:05 misho Exp $ */ +/* $Id: uuencode.c,v 1.1.1.4 2014/06/15 20:03:57 misho Exp $ */ /* * Portions of this code are based on Berkeley's uuencode/uudecode @@ -151,6 +151,9 @@ PHPAPI int php_uudecode(char *src, int src_len, char * } while (s < ee) { + if(s+4 > e) { + goto err; + } *p++ = PHP_UU_DEC(*s) << 2 | PHP_UU_DEC(*(s + 1)) >> 4; *p++ = PHP_UU_DEC(*(s + 1)) << 4 | PHP_UU_DEC(*(s + 2)) >> 2; *p++ = PHP_UU_DEC(*(s + 2)) << 6 | PHP_UU_DEC(*(s + 3));