diff options
| author | dgp <dgp@users.sourceforge.net> | 2018-02-05 13:41:26 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2018-02-05 13:41:26 (GMT) |
| commit | 3be49723fced40ef581ccd12dbeb35b8cf346b12 (patch) | |
| tree | 3a2d7090426a07ba28bcf64a800bd88943d66d8a | |
| parent | da7f77f96f74cf57e80421226d7bf1e93d776f58 (diff) | |
| download | tcl-3be49723fced40ef581ccd12dbeb35b8cf346b12.zip tcl-3be49723fced40ef581ccd12dbeb35b8cf346b12.tar.gz tcl-3be49723fced40ef581ccd12dbeb35b8cf346b12.tar.bz2 | |
Improved overflow prevention.
| -rw-r--r-- | generic/tclStringObj.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 8437555..c3a0192 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -190,8 +190,8 @@ GrowUnicodeBuffer( * Subsequent appends - apply the growth algorithm. */ - attempt = 2 * needed; - if (attempt >= 0 && attempt <= STRING_MAXCHARS) { + if (needed <= STRING_MAXCHARS / 2) { + attempt = 2 * needed; ptr = stringAttemptRealloc(stringPtr, attempt); } if (ptr == NULL) { |
