From 796f2e815904da90bf1d801493f34f4127848eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Medra=C3=B1o=20Calvo?= Date: Thu, 27 Jul 2017 17:51:15 +0200 Subject: Make sure enough arguments are passed before accessing them Would eventually segfault when invoking: .g inside 0; --- generic/tkbltGraphOp.C | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/generic/tkbltGraphOp.C b/generic/tkbltGraphOp.C index 6588d64..ada2758 100644 --- a/generic/tkbltGraphOp.C +++ b/generic/tkbltGraphOp.C @@ -228,7 +228,13 @@ topmargin, bottommargin, plotarea, or legend", (char*)NULL); static int InsideOp(ClientData clientData, Tcl_Interp* interp, int objc, Tcl_Obj* const objv[]) { + if (objc != 4) { + Tcl_WrongNumArgs(interp, 2, objv, "x y"); + return TCL_ERROR; + } + Graph* graphPtr = (Graph*)clientData; + int x; if (Tcl_GetIntFromObj(interp, objv[2], &x) != TCL_OK) return TCL_ERROR; -- cgit v0.12