https://bugs.openldap.org/show_bug.cgi?id=10198

--- Comment #1 from Benjamin Koch <b.k...@beckhoff.com> ---
I think this mostly affects x64 (x86_64). My test program crashes for both but
its buffer doesn't have the same padding. "sizeof(va_list)" is 4 bytes on
32-bit ("x86", i386), so the pointer falls within the padded buffer (5 KiB). It
is 8 bytes on x64, so the pointer is outside of the buffer and exactly where
the access violation is reported.

I have seen the real crash in LMDB only with x64 because my program won't fit
into 32-bit address space, i.e. I cannot (easily) test this with 32-bit.

(The crash isn't completely reliable. My test program usually crashes but not
always. It seems to be fine if I add enough padding. That's why I think that
32-bit might not see the crash. However, I cannot really be sure that it
wouldn't crash if the previous contents of the uninitialized buffer were just
right.)

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to