Date: Wed, 18 May 2005 11:27:32 +0800 From: Xu Qiang <Qiang.Xu@fujixerox.com> To: Dan Nelson <dnelson@allantgroup.com>, Xu Qiang <Qiang.Xu@fujixerox.com> Cc: freebsd-questions@freebsd.org Subject: RE: The availability of socketbits.h? Message-ID: <20050518031812.34AF31D92E@imss.sgp.fujixerox.com>
next in thread | raw e-mail | index | archive | help
Dan Nelson wrote:
> It's usually caused by an incorrect pointer, or a stack overflow,
> where the program tries to read a memory address not available to it.
> In fact, I can see the problem right away. command_list is a
> statically-initilized array (defined at command_list.h:55). Note that
> there is no special "end-of-list" value at the end of the array. The
> loop at command.c:1149 loops until command_list[i].comm_name is NULL,
> but since there's no explicit NULL entry at the end, the loop falls
> off the end of the array, where it eventually hits an unmapped page of
> memory and gets a bus error.
> =
> That for loop should really read:
> =
> for(i=3D0; i<command_count; i++) {
> =
> , since command_count should already be set to COUNTOF(command_list)
> by a previous call to command_init().
Thank you, Dan. Your fix works!
Still, I wonder why the fix of Giorgos doesn't work, because it seems quite=
right to me, too.
(Btw, I can't understand why this software has so many bugs to be fixed bef=
ore it can be compiled and run successfully. The developers don't check the=
ir product before shipping out? I have compiled and installed quite a numbe=
r of GNU softwares, never saw such a buggy one. Yet, I am a go game lover, =
and want to set up a local NNGS server. And this is the only available open=
source go server software in the world. Alas!)
Regards,
Xu Qiang
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050518031812.34AF31D92E>
