summaryrefslogtreecommitdiffstats
path: root/generic/tclEncoding.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-09-10 10:28:46 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-09-10 10:28:46 (GMT)
commit2592b1e93b713440a2fab51b01df4ad31bb21f7d (patch)
treefa223819af815d3047fa4aae68da0bf138ab2406 /generic/tclEncoding.c
parentf4d0f6366c3f05177907320d459e4df57a3bbe04 (diff)
downloadtcl-2592b1e93b713440a2fab51b01df4ad31bb21f7d.zip
tcl-2592b1e93b713440a2fab51b01df4ad31bb21f7d.tar.gz
tcl-2592b1e93b713440a2fab51b01df4ad31bb21f7d.tar.bz2
Don't use sizeof() for structs containing a flexible array as last element. Lesson from [https://core.tcl-lang.org/tk/info/3bc0f44ef3|3bc0f44ef3]. Use TclOffset in stead.
Diffstat (limited to 'generic/tclEncoding.c')
-rw-r--r--generic/tclEncoding.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index 5c7aab8..6377ad8 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -2039,7 +2039,7 @@ LoadEscapeEncoding(
Tcl_DStringFree(&lineString);
}
- size = sizeof(EscapeEncodingData) - sizeof(EscapeSubTable)
+ size = TclOffset(EscapeEncodingData, subTables)
+ Tcl_DStringLength(&escapeData);
dataPtr = (EscapeEncodingData *)ckalloc(size);
dataPtr->initLen = strlen(init);