summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-12-16 09:02:59 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-12-16 09:02:59 (GMT)
commitfcc9c57804bed50e0acafd815c13b3426cb3f3d2 (patch)
tree15e0bbbe91dbf4dddea34f6792c6b816bbd8a70d /generic/tclBasic.c
parent76f73fbad9f75076442b2d7c0c4bab22583b26a4 (diff)
downloadtcl-fcc9c57804bed50e0acafd815c13b3426cb3f3d2.zip
tcl-fcc9c57804bed50e0acafd815c13b3426cb3f3d2.tar.gz
tcl-fcc9c57804bed50e0acafd815c13b3426cb3f3d2.tar.bz2
Fix [6ef312dcf5]: memcpy() with NULL source in Tcl_CreateMathFunc()
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r--generic/tclBasic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 875fec5..aebcab7 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -3551,7 +3551,9 @@ Tcl_CreateMathFunc(
data->proc = proc;
data->numArgs = numArgs;
data->argTypes = (Tcl_ValueType *)ckalloc(numArgs * sizeof(Tcl_ValueType));
- memcpy(data->argTypes, argTypes, numArgs * sizeof(Tcl_ValueType));
+ if ((numArgs > 0) && (argTypes != NULL)) {
+ memcpy(data->argTypes, argTypes, numArgs * sizeof(Tcl_ValueType));
+ }
data->clientData = clientData;
Tcl_DStringInit(&bigName);