Subject: Re: Diagnosis of setup crash (was: Re: Re[3]: cygwin download incomplete - try again - loop?)
From: "Max Bowsher" <[email-masked]>
To: "Pavel Tsekov" <[email-masked]>
Cc: <[email-masked]>
Date: Mon, 10 Jun 2002 11:30:23 +0100

Pavel Tsekov <[email-masked]> wrote:
> MB> The crash occurs because rfc1738_do_escape is passed url=0x0. This zero
pointer
> MB> is gereated in rfc1738_escape_part by url.cstr_oneuse(), where url =
String("").
>
> MB> rfc_escape_part("") is called from check_for_cached(). The "" value comes
from
> pkgsource.sites[n]->>key. The site objects with a key of "" are created
somewhere
> MB> in the yacc/lex stuff (of which I know nothing) based upon the mirror
value
> MB> produced in IniParseFindVisitor::visitFile(). Changing < mirror = String
(); >
> MB> to < mirror = String ("."); > on line 69 of IniParseFindVisitor.cc
eliminates
> MB> the crash.
>
> Well, it seems like this is a result of the fix applied for the
> previous bug. Btw IMO this can be fixed by skipping the ini_init()
> part and all its dependencies when the mirror is determined to be
> empty. I.e. the previous fix is OK , but some more code has to be
> moved to the block "prefix.size() > 0".

Hang on! Won't that mean that setup.ini files in the root dir of the package
cache are ignored?

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/