View · Search · Index
No registered users in community xowiki
in last 10 minutes

Re: [Xotcl] two crashy issues // 1.5.x

From: Gustaf Neumann <neumann_at_wu-wien.ac.at>
Date: Mon, 23 Jul 2007 20:09:59 +0200

Stefan and all,

Many thanks for the test cases. Below is the bug-fix for the
empty argument.
Concerning bug#2: i think you sent me the same bug (with a different
testfile) on march 15, i have sent you a fix back on march 16.

i will put togehter today a bugfix version containing the fixes
developed over the last months for testing for Ben to
see, if this helps already for his crashes. Maybe the fix for bug2
helps already.

-gustaf


% diff -u generic/xotcl.c-old generic/xotcl.c
--- generic/xotcl.c-old 2007-07-23 19:47:21.000000000 +0200
+++ generic/xotcl.c 2007-07-23 19:45:30.000000000 +0200
_at_@ -5049,7 +5049,7 @@
       /* arg = ObjStr(argsv[i]);
          fprintf(stderr, "*** argparse0 arg='%s'\n",arg);*/
       rc = Tcl_ListObjGetElements(in, argsv[i], &npac, &npav);
- if (rc == TCL_OK) {
+ if (rc == TCL_OK && npac > 0) {
         arg = ObjStr(npav[0]);
         /*fprintf(stderr, "*** argparse1 arg='%s' rc=%d\n",arg,rc);*/
         if (*arg == '-') {


Stefan Sobernig schrieb:
> I attached two scripts, each reproducing bugs
> I found with most recent versions of XOTcl
> (1.5.2/1.5.3).
>
> Bug -1-: Argument declarations to proc/instproc
> containing a single empty tcl string yield a segfault/bus error.
>
> Bug -2-: Nesting objects through per-object evals (evals
> in the object scope) yields segfaults/bus errors under
> certain conditions.
>
> all the best,
>
> //stefan
>