summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsSZ.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2012-12-18 09:02:38 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2012-12-18 09:02:38 (GMT)
commit901205117837f6f8d421eabfe1b8d6278af9c297 (patch)
tree7cf5d886f5ef425a0674810b249e24add7edc174 /generic/tclCompCmdsSZ.c
parent6ba5327e8579861a348ee361e3aff04356086458 (diff)
parentf676347d4bf615c3cbf2bf40e3bd472a854f7944 (diff)
downloadtcl-901205117837f6f8d421eabfe1b8d6278af9c297.zip
tcl-901205117837f6f8d421eabfe1b8d6278af9c297.tar.gz
tcl-901205117837f6f8d421eabfe1b8d6278af9c297.tar.bz2
merge trunk
Diffstat (limited to 'generic/tclCompCmdsSZ.c')
-rw-r--r--generic/tclCompCmdsSZ.c14
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) {
/*