Subject: bug#53136: 28.0.90; segfault in lock_file

From: Po Lu <[email-masked]>
Date: Sun, 09 Jan 2022 16:10:42 +0800

Eli Zaretskii <[email-masked]> writes:

>> This write in `lock_file':
>> 
>>       memcpy (dot, replacement, replacementlen);
>> 
>> Ends up writing one byte outside dot.
>> 
>> I could not find the problem, but someone else may want to take a look.

> Details, please: the values of all the relevant variables at that
> point, including the contents of all the string variables.

gdb says dot is "optimized out" (but valgrind, which I happened to be
running that Emacs under in an attempt to catch the GC bug I reported a
month ago, disagrees).  pidlen is 6.

I will try to get more information from the valgrind core file.

> And what is your value of MAX_LFINFO?

MAX_LFINFO is 8192.

> I don't see how this can be efficiently investigated without this
> data.  In particular, 'dot' has no storage of its own, it's just a
> pointer into the lock_info.user[] array.

Thanks.