diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2012-12-18 09:02:38 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2012-12-18 09:02:38 (GMT) |
commit | 901205117837f6f8d421eabfe1b8d6278af9c297 (patch) | |
tree | 7cf5d886f5ef425a0674810b249e24add7edc174 /generic/tclCompCmdsSZ.c | |
parent | 6ba5327e8579861a348ee361e3aff04356086458 (diff) | |
parent | f676347d4bf615c3cbf2bf40e3bd472a854f7944 (diff) | |
download | tcl-901205117837f6f8d421eabfe1b8d6278af9c297.zip tcl-901205117837f6f8d421eabfe1b8d6278af9c297.tar.gz tcl-901205117837f6f8d421eabfe1b8d6278af9c297.tar.bz2 |
merge trunk
Diffstat (limited to 'generic/tclCompCmdsSZ.c')
-rw-r--r-- | generic/tclCompCmdsSZ.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/generic/tclCompCmdsSZ.c b/generic/tclCompCmdsSZ.c index be63e0e..9c93fb2 100644 --- a/generic/tclCompCmdsSZ.c +++ b/generic/tclCompCmdsSZ.c @@ -1224,12 +1224,7 @@ TclCompileSwitchCmd( if (TCL_OK != TclFindElement(NULL, bytes, numBytes, &(bodyTokenArray[numWords].start), &bytes, &(bodyTokenArray[numWords].size), &literal) || !literal) { - abort: - ckfree((char *) bodyToken); - ckfree((char *) bodyTokenArray); - ckfree((char *) bodyLines); - ckfree((char *) bodyContLines); - return TCL_ERROR; + goto abort; } bodyTokenArray[numWords].type = TCL_TOKEN_TEXT; @@ -1254,7 +1249,12 @@ TclCompileSwitchCmd( numWords++; } if (numWords % 2) { - goto abort; + abort: + ckfree((char *) bodyToken); + ckfree((char *) bodyTokenArray); + ckfree((char *) bodyLines); + ckfree((char *) bodyContLines); + return TCL_ERROR; } } else if (numWords % 2 || numWords == 0) { /* |