diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2006-09-24 21:15:09 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2006-09-24 21:15:09 (GMT) |
commit | dfdd2bf4859375909d0094b1c89280448e7544b5 (patch) | |
tree | 52642af6e3fb2c29a09534224d480bb89536d396 /generic/tclStringObj.c | |
parent | 68d397d14ec547c033d0f9b5df612e06f638fef1 (diff) | |
download | tcl-dfdd2bf4859375909d0094b1c89280448e7544b5.zip tcl-dfdd2bf4859375909d0094b1c89280448e7544b5.tar.gz tcl-dfdd2bf4859375909d0094b1c89280448e7544b5.tar.bz2 |
* generic/tclParse.c (Tcl_ParseCommand): also return an error if
start==NULL and numBytes<0. This is coverity's bug #20
* generic/tclStringObj.c (STRING_SIZE): fix allocation for
0-length strings. This is coverity's bugs #54-5
Diffstat (limited to 'generic/tclStringObj.c')
-rw-r--r-- | generic/tclStringObj.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 9ec2f63..ab04253 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -33,7 +33,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStringObj.c,v 1.32.2.1 2006/01/23 11:24:36 msofer Exp $ */ + * RCS: @(#) $Id: tclStringObj.c,v 1.32.2.2 2006/09/24 21:15:11 msofer Exp $ */ #include "tclInt.h" @@ -105,8 +105,10 @@ typedef struct String { #define STRING_UALLOC(numChars) \ (numChars * sizeof(Tcl_UniChar)) -#define STRING_SIZE(ualloc) \ - ((unsigned) (sizeof(String) - sizeof(Tcl_UniChar) + ualloc)) +#define STRING_SIZE(ualloc) \ + ((unsigned) ((ualloc) \ + ? sizeof(String) - sizeof(Tcl_UniChar) + (ualloc) \ + : sizeof(String))) #define GET_STRING(objPtr) \ ((String *) (objPtr)->internalRep.otherValuePtr) #define SET_STRING(objPtr, stringPtr) \ |