X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;ds=sidebyside;f=base%2Fscriptinv.c;h=26d5030f762ed6fd62c5e16eaebd8c17f9403ccc;hb=ceed4cf646a34245b3bc88089a2187ebf7a41f0f;hp=a066572c2873ecc3edff403574c8f6cc2a89f350;hpb=f16e3e0cf0a2b965643df01e24ef59e1393da78d;p=chiark-tcl.git diff --git a/base/scriptinv.c b/base/scriptinv.c index a066572..26d5030 100644 --- a/base/scriptinv.c +++ b/base/scriptinv.c @@ -1,4 +1,21 @@ /* + * base code for various Tcl extensions + * Copyright 2006 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 + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * 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. */ #include "chiark-tcl-base.h" @@ -28,6 +45,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; }