[Python-Dev] bsddb3 imported

Martin v. Loewis martin@v.loewis.de
23 Nov 2002 19:13:24 +0100

Tim Peters <tim.one@comcast.net> writes:

> Not here.  In a debug build, it reliably crashes in the bowels of strcpy.
> My guess:
> 	strcpy(buffer, hangul_syllables[L][0]);
> can't always work because the hangul_syllables array contains NULL pointers
> in some entries instead of empty strings.  It blows up for me when L is
> pointing at the
>     { 0,    "YI",  "S"  },
> entry.  I'm proceeding on "a fix" to see whether s/0/""/g cures it.

Are you sure you are up-to-date? For that to happen, L must be 19.
Now, L is SIndex / NCount, where NCount is 588. So SIndex must be
atleast (588*19 =) 11172 (= SCount). However, SIndex is code-SBase,
so code must be atleast SBase+SCount. In that case, the entire if
statement should not be executed, because the if statement reads

    if (SBase <= code && code < SBase+SCount) {

It so happens that the fields which are NULL are never accessed.