summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2006-09-24 21:15:09 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2006-09-24 21:15:09 (GMT)
commite9357cfedeca25e77bab05b6d8da9e7579b2d774 (patch)
tree52642af6e3fb2c29a09534224d480bb89536d396 /generic/tclStringObj.c
parent004129769739631f0ad158d5c98851ae5705b58a (diff)
downloadtcl-e9357cfedeca25e77bab05b6d8da9e7579b2d774.zip
tcl-e9357cfedeca25e77bab05b6d8da9e7579b2d774.tar.gz
tcl-e9357cfedeca25e77bab05b6d8da9e7579b2d774.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.c8
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) \