]>
Commit | Line | Data |
---|---|---|
fb98beff ER |
1 | --- PHP_5_3/main/snprintf.c 2011/02/21 06:22:00 308524 |
2 | +++ PHP_5_3/main/snprintf.c 2011/02/21 06:53:24 308525 | |
3 | @@ -677,10 +677,6 @@ | |
4 | ||
5 | /* | |
6 | * Check if a precision was specified | |
7 | - * | |
8 | - * XXX: an unreasonable amount of precision may be specified | |
9 | - * resulting in overflow of num_buf. Currently we | |
10 | - * ignore this possibility. | |
11 | */ | |
12 | if (*fmt == '.') { | |
13 | adjust_precision = YES; | |
14 | @@ -694,6 +690,10 @@ | |
15 | precision = 0; | |
16 | } else | |
17 | precision = 0; | |
18 | + | |
19 | + if (precision > FORMAT_CONV_MAX_PRECISION) { | |
20 | + precision = FORMAT_CONV_MAX_PRECISION; | |
21 | + } | |
22 | } else | |
23 | adjust_precision = NO; | |
24 | } else | |
25 | --- PHP_5_3/main/snprintf.h 2011/02/21 06:22:00 308524 | |
26 | +++ PHP_5_3/main/snprintf.h 2011/02/21 06:53:24 308525 | |
27 | @@ -12,7 +12,7 @@ | |
28 | | obtain it through the world-wide-web, please send a note to | | |
29 | | license@php.net so we can mail you a copy immediately. | | |
30 | +----------------------------------------------------------------------+ | |
31 |