[DGD] DGD 1.2.79 crasher

Andrew Skalski askalski at synacor.com
Thu Feb 19 09:04:26 CET 2004


Dworkin,

I ran into a crasher bug using the status() kfun of DGD 1.2.79.
With unmodified 1.2.79 and stock kernel mudlib:

* Create an empty file "/usr/admin/data/ob.c"   
* Login as "admin" and send these commands:

# compile ~/data/ob.c
$0 = </usr/admin/data/ob>
# code new_object("~/data/ob")
$1 = </usr/admin/data/ob#-1>
# code new_object("~/data/ob")
$2 = </usr/admin/data/ob#-1>
# code status($0)	/* or, status("~/data/ob") */

* At this point, the driver exits with SIGSEGV


Here are a few tidbits from gdb:

Program received signal SIGSEGV, Segmentation fault.
0x0806afda in conf_objecti (data=0x4017aa1c, obj=0x80cf228, idx=4, 
    v=0xbfffc408) at config.c:1555
1555        ctrl = (O_UPGRADING(prog)) ? OBJR(prog->prev)->ctrl : o_control(prog);

(gdb) where 3
#0  0x0806afda in conf_objecti (data=0x4017aa1c, obj=0x80cf228, idx=4, 
    v=0xbfffc408) at config.c:1555
#1  0x0806b1ca in conf_object (data=0x4017aa1c, obj=0x80cf228) at config.c:1615
#2  0x0809f044 in kf_status (f=0xbfffc5b0, nargs=1) at std.c:1257
(More stack frames follow...)


Let me know if you need any more info.

andy
_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list