From: Eli Zaretskii <eliz@gnu.org>
To: Arunas Ruksnaitis <aris020@yahoo.co.uk>
Cc: 12621@debbugs.gnu.org
Sent: Thursday, 13 December 2012, 18:04
Subject: Re: bug#12621: Emacs 24.1 crashing on Win7
> Date: Thu, 13 Dec 2012 10:22:42 +0000 (GMT)
> From: Arunas Ruksnaitis <
aris020@yahoo.co.uk>
>
> Just to confirm, this is a big problem for me, too.
> My observations confirm the original report.
> Stack trace, should it help, is here. I guess "lookup_account_sid" is passing an
invalid lpSid?
No, I don't think the Sid can be invalid, because it is validated just
before the call that crashes, by calling IsValidSid:
if (what == UID)
result = get_security_descriptor_owner (psd, &sid, &dflt);
else if (what == GID)
result = get_security_descriptor_group (psd, &sid, &dflt);
else
result = 0;
if (!result || !is_valid_sid (sid)) <<<<<<<<<<<<<<<<<<<<<<<<<<<
use_dflt = 1;
else if (!w32_cached_id (sid, id, nm))
{
/* If FNAME is a UNC, we need to lookup account on the
specified machine. */
if (IS_DIRECTORY_SEP (fname[0]) && IS_DIRECTORY_SEP (fname[1])
&& fname[2]
!= '\0')
{
const char *s;
char *p;
for (s = fname + 2, p = machine;
*s && !IS_DIRECTORY_SEP (*s); s++, p++)
*p = *s;
*p = '\0';
mp = machine;
}
if (!lookup_account_sid (mp, sid, name, &name_len,
domain, &domain_len, &ignore)
|| name_len > UNLEN+1)
I actually suspect that the problem might be in the server name, the
first argument to lookup_account_sid. If you can easily reproduce
this under GDB, can you show what is the value of 'fname' and of
'machine' in the above snippet?