I rebuild the package without optimizations got some more data. The ASAN
out now matches the gdb one

READ of size 9 at 0x6040001944b8 thread T0
    #0 0x14454c2 in __interceptor_strndup 
/opt/media/clang_nightly/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:327:3
    #1 0x7ffa3f4b06f8 in get_atom_name 
/home/user/libxkbcommon-0.5.0/src/x11/util.c:146
    #2 0x7ffa3f4afd63 in get_names 
/home/user/libxkbcommon-0.5.0/src/x11/keymap.c:1092
    #3 0x7ffa3f4b026c in xkb_x11_keymap_new_from_device 
/home/user/libxkbcommon-0.5.0/src/x11/keymap.c:1169 

Looking at the variables in the debugger everything seems fine

#7  0x00007fffc44236f9 in get_atom_name (conn=0x62a0000ae200, atom=142,
    out=0x61b0000ef400) at src/x11/util.c:146
146         *out = strndup(name, length);
(gdb) print length
$1 = 8
(gdb) print name
$2 = 0x6040001944b0 "complete"
(gdb) print name[7]
$3 = 101 'e'
(gdb) print name[8]
$4 = 0 '\000'

But judging from the error message somehow the ASAN peaks beyond its
end.

I was able reproduce this behavior in a small sample and it turns out it
is caused by ASAN_OPTIONS=strict_string_checks=1. So it seems it is a
sanitizer issue. I will bring it up with that team.

Sorry about the apparently faulty report.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1743401

Title:
  AddressSanitizer: heap-buffer-overflow in libxkbcommon-x11.so

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libxkbcommon/+bug/1743401/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to