X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=base%2Fscriptinv.c;h=7b67d299af4af002a076ba79e480188635c3345e;hb=c6f18281927becb769ab2ad2bc198b25f5e660b0;hp=5757d47b52f9ef8549a577ee29f76b7d2a050f78;hpb=5dca360f2da544c9b6baf9d18ad8cd0b0e073e60;p=chiark-tcl.git diff --git a/base/scriptinv.c b/base/scriptinv.c index 5757d47..7b67d29 100644 --- a/base/scriptinv.c +++ b/base/scriptinv.c @@ -1,6 +1,6 @@ /* * base code for various Tcl extensions - * Copyright 2006 Ian Jackson + * Copyright 2006-2012 Ian Jackson * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -13,9 +13,7 @@ * General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301, USA. + * along with this library; if not, see . */ #include "chiark-tcl-base.h" @@ -45,6 +43,7 @@ int cht_scriptinv_set(ScriptToInvoke *si, Tcl_Interp *ip, if (xargs) { rc= Tcl_ListObjLength(ip, xargs, &xlength); if (rc) return rc; Tcl_IncrRefCount(xargs); + assert(si->llen < INT_MAX/2 && xlength < INT_MAX/2); si->llen += xlength; }