Dear Maintainer, this buffer is caused by a variable of length 256 being snprintf'ed to with a length of 512.
This got fixed upstream in [1] and was also reported here [2]. This issue is visible in the build log [3] with this warning: at proto_xboard.cc:1086:13: ... specified bound 512 exceeds destination size 256 ... There is another location in the build log with a similar warning: at util.cc:785:15: ...specified bound 1024 exceeds destination size 280 ... Kind regards, Bernhard [1] https://github.com/fbergo/eboard/commit/ed33049aff2cefd7508bcda8ab738b8ec871c948 [2] https://bugs.launchpad.net/ubuntu/+source/eboard/+bug/1306419 [3] https://buildd.debian.org/status/fetch.php?pkg=eboard&arch=amd64&ver=1.1.3-0.3&stamp=1558101455&raw=0 (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fd306ea0537 in __GI_abort () at abort.c:79 #2 0x00007fd306ef9828 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fd307007c28 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:155 #3 0x00007fd306f88712 in __GI___fortify_fail (msg=msg@entry=0x7fd307007bbe "buffer overflow detected") at fortify_fail.c:26 #4 0x00007fd306f87110 in __GI___chk_fail () at chk_fail.c:28 #5 0x00007fd306f86d45 in ___snprintf_chk (s=s@entry=0x557098bb5664 "~/.eboard/eng-out", maxlen=maxlen@entry=512, flag=flag@entry=1, slen=slen@entry=256, format=format@entry=0x557097beb6bc "%s/.eboard/craftylog") at snprintf_chk.c:29 #6 0x0000557097bd3a8c in snprintf (__fmt=0x557097beb6bc "%s/.eboard/craftylog", __n=512, __s=0x557098bb5664 "~/.eboard/eng-out") at /usr/include/x86_64-linux-gnu/bits/stdio2.h:67 #7 CraftyProtocol::readDialog() (this=0x557098bb5410) at proto_xboard.cc:1086 #8 0x0000557097bd3780 in XBoardProtocol::run() (this=0x557098bb5410) at proto_xboard.cc:450 ...
# Bullseye/testing amd64 qemu VM 2020-09-04 apt update apt dist-upgrade apt install systemd-coredump lightdm xserver-xorg openbox xterm ccache cmake make g++-multilib gdb pkg-config coreutils python3-pexpect manpages-dev git ninja-build capnproto libcapnp-dev fakeroot mc gdb eboard eboard-dbgsym libgtk2.0-0-dbgsym libglib2.0-0-dbgsym apt build-dep eboard reboot echo 1 > /proc/sys/kernel/perf_event_paranoid mkdir /home/benutzer/source/rr/git -p cd /home/benutzer/source/rr/git git clone https://github.com/mozilla/rr.git cd cd /home/benutzer/source/rr/git/ mkdir obj && cd obj cmake ../rr make -j4 mkdir /home/benutzer/source/eboard/orig -p cd /home/benutzer/source/eboard/orig apt source eboard cd export DISPLAY=:0 /home/benutzer/source/rr/git/obj/bin/rr eboard /home/benutzer/source/rr/git/obj/bin/rr replay /home/benutzer/.local/share/rr/eboard-1 set width 0 set pagination off directory /home/benutzer/source/eboard/orig/eboard-1.1.3 cont benutzer@debian:~$ /home/benutzer/source/rr/git/obj/bin/rr eboard rr: Saving execution to trace directory `/home/benutzer/.local/share/rr/eboard-1'. *** buffer overflow detected ***: terminated Abgebrochen benutzer@debian:~$ /home/benutzer/source/rr/git/obj/bin/rr replay /home/benutzer/.local/share/rr/eboard-1 ... (rr) cont Continuing. *** buffer overflow detected ***: terminated Program received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fd306ea0537 in __GI_abort () at abort.c:79 #2 0x00007fd306ef9828 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fd307007c28 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:155 #3 0x00007fd306f88712 in __GI___fortify_fail (msg=msg@entry=0x7fd307007bbe "buffer overflow detected") at fortify_fail.c:26 #4 0x00007fd306f87110 in __GI___chk_fail () at chk_fail.c:28 #5 0x00007fd306f86d45 in ___snprintf_chk (s=<optimized out>, maxlen=<optimized out>, flag=<optimized out>, slen=<optimized out>, format=<optimized out>) at snprintf_chk.c:29 #6 0x0000557097bd3a8c in ?? () #7 0x0000557097bd3780 in ?? () #8 0x0000557097bab471 in ?? () #9 0x00007fd3074a6fd2 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #10 0x00007fd3074ba784 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #11 0x00007fd3074c554f in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #12 0x00007fd3074c5edf in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007fd307e5e7ba in gtk_widget_activate () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #14 0x00007fd307d59eed in gtk_menu_shell_activate_item () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #15 0x00007fd307d5a1b9 in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #16 0x00007fd307d47a8b in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #17 0x00007fd3074a6fd2 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #18 0x00007fd3074b9f06 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #19 0x00007fd3074c5078 in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #20 0x00007fd3074c5edf in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #21 0x00007fd307e5f9e4 in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #22 0x00007fd307d45cbc in gtk_propagate_event () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #23 0x00007fd307d460b3 in gtk_main_do_event () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #24 0x00007fd307bb810c in ?? () from /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #25 0x00007fd3073bb5fd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007fd3073bb880 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007fd3073bbb53 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007fd307d4512a in gtk_main () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #29 0x0000557097b799d1 in ?? () #30 0x00007fd306ea1cca in __libc_start_main (main=0x557097b79800, argc=1, argv=0x7ffdc6104028, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdc6104018) at ../csu/libc-start.c:308 #31 0x0000557097b7a16a in ?? () benutzer@debian:~$ /home/benutzer/source/rr/git/obj/bin/rr replay /home/benutzer/.local/share/rr/eboard-1 ... (rr) set width 0 (rr) set pagination off (rr) directory /home/benutzer/source/eboard/orig/eboard-1.1.3 Source directories searched: /home/benutzer/source/eboard/orig/eboard-1.1.3:$cdir:$cwd (rr) cont Continuing. *** buffer overflow detected ***: terminated Program received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fd306ea0537 in __GI_abort () at abort.c:79 #2 0x00007fd306ef9828 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fd307007c28 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:155 #3 0x00007fd306f88712 in __GI___fortify_fail (msg=msg@entry=0x7fd307007bbe "buffer overflow detected") at fortify_fail.c:26 #4 0x00007fd306f87110 in __GI___chk_fail () at chk_fail.c:28 #5 0x00007fd306f86d45 in ___snprintf_chk (s=s@entry=0x557098bb5664 "~/.eboard/eng-out", maxlen=maxlen@entry=512, flag=flag@entry=1, slen=slen@entry=256, format=format@entry=0x557097beb6bc "%s/.eboard/craftylog") at snprintf_chk.c:29 #6 0x0000557097bd3a8c in snprintf (__fmt=0x557097beb6bc "%s/.eboard/craftylog", __n=512, __s=0x557098bb5664 "~/.eboard/eng-out") at /usr/include/x86_64-linux-gnu/bits/stdio2.h:67 #7 CraftyProtocol::readDialog() (this=0x557098bb5410) at proto_xboard.cc:1086 #8 0x0000557097bd3780 in XBoardProtocol::run() (this=0x557098bb5410) at proto_xboard.cc:450 #9 0x0000557097bab471 in MainWindow::openEngine(EngineProtocol*, EngineBookmark*) (this=0x55709876ac00, xpp=0x557098bb5410, ebm=0x0) at mainwindow.cc:1046 #13 0x00007fd3074c5edf in <emit signal ??? on instance 0x557098848660 [GtkMenuItem]> (instance=instance@entry=0x557098848660, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3554 #10 0x00007fd3074a6fd2 in g_closure_invoke (closure=0x557098855970, return_value=0x0, n_param_values=1, param_values=0x7ffdc61034b0, invocation_hint=0x7ffdc6103430) at ../../../gobject/gclosure.c:810 #11 0x00007fd3074ba784 in signal_emit_unlocked_R (node=node@entry=0x5570988449e0, detail=detail@entry=0, instance=instance@entry=0x557098848660, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffdc61034b0) at ../../../gobject/gsignal.c:3742 #12 0x00007fd3074c554f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdc6103660) at ../../../gobject/gsignal.c:3498 #14 0x00007fd307e5e7ba in IA__gtk_widget_activate (widget=widget@entry=0x557098848660 [GtkMenuItem]) at ../../../../gtk/gtkwidget.c:5041 #15 0x00007fd307d59eed in IA__gtk_menu_shell_activate_item (menu_shell=0x55709884d430 [GtkMenu], menu_item=0x557098848660 [GtkMenuItem], force_deactivate=<optimized out>) at ../../../../gtk/gtkmenushell.c:1278 #16 0x00007fd307d5a1b9 in gtk_menu_shell_button_release (widget=0x55709884d430 [GtkMenu], event=0x557098b31b20) at ../../../../gtk/gtkmenushell.c:703 #21 0x00007fd3074c5edf in <emit signal ??? on instance 0x55709884d430 [GtkMenu]> (instance=instance@entry=0x55709884d430, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3554 #17 0x00007fd307d47a8b in _gtk_marshal_BOOLEAN__BOXED (closure=0x557098808a60, return_value=0x7ffdc61039a0, n_param_values=<optimized out>, param_values=0x7ffdc6103a00, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../../../../gtk/gtkmarshalers.c:84 #18 0x00007fd3074a6fd2 in g_closure_invoke (closure=0x557098808a60, return_value=0x7ffdc61039a0, n_param_values=2, param_values=0x7ffdc6103a00, invocation_hint=0x7ffdc6103980) at ../../../gobject/gclosure.c:810 #19 0x00007fd3074b9f06 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x55709884d430, emission_return=emission_return@entry=0x7ffdc6103b20, instance_and_params=instance_and_params@entry=0x7ffdc6103a00) at ../../../gobject/gsignal.c:3780 #20 0x00007fd3074c5078 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdc6103bd0) at ../../../gobject/gsignal.c:3508 #22 0x00007fd307e5f9e4 in gtk_widget_event_internal (widget=widget@entry=0x55709884d430 [GtkMenu], event=event@entry=0x557098b31b20) at ../../../../gtk/gtkwidget.c:5010 #23 0x00007fd307e5fcc9 in IA__gtk_widget_event (widget=widget@entry=0x55709884d430 [GtkMenu], event=event@entry=0x557098b31b20) at ../../../../gtk/gtkwidget.c:4807 #24 0x00007fd307d45cbc in IA__gtk_propagate_event (widget=0x55709884d430 [GtkMenu], event=0x557098b31b20) at ../../../../gtk/gtkmain.c:2503 #25 0x00007fd307d460b3 in IA__gtk_main_do_event (event=0x557098b31b20) at ../../../../gtk/gtkmain.c:1698 #26 IA__gtk_main_do_event (event=<optimized out>) at ../../../../gtk/gtkmain.c:1503 #27 0x00007fd307bb810c in gdk_event_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../../../../../gdk/x11/gdkevents-x11.c:2425 #28 0x00007fd3073bb5fd in g_main_dispatch (context=0x5570987c4790) at ../../../glib/gmain.c:3309 #29 g_main_context_dispatch (context=context@entry=0x5570987c4790) at ../../../glib/gmain.c:3974 #30 0x00007fd3073bb880 in g_main_context_iterate (context=0x5570987c4790, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047 #31 0x00007fd3073bbb53 in g_main_loop_run (loop=0x557098b601b0) at ../../../glib/gmain.c:4241 #32 0x00007fd307d4512a in IA__gtk_main () at ../../../../gtk/gtkmain.c:1270 #33 0x0000557097b799d1 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cc:93 (rr) reverse-finish Run back to call of #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 Program received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 in ../sysdeps/unix/sysv/linux/raise.c (rr) Run back to call of #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 0x00007fd306ea0532 in __GI_abort () at abort.c:79 79 abort.c: Datei oder Verzeichnis nicht gefunden. (rr) Run back to call of #0 0x00007fd306ea0532 in __GI_abort () at abort.c:79 __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fd307007c28 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:155 155 ../sysdeps/posix/libc_fatal.c: Datei oder Verzeichnis nicht gefunden. (rr) Run back to call of #0 __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fd307007c28 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:155 0x00007fd306f8870d in __GI___fortify_fail (msg=msg@entry=0x7fd307007bbe "buffer overflow detected") at fortify_fail.c:26 26 fortify_fail.c: Datei oder Verzeichnis nicht gefunden. (rr) Run back to call of #0 0x00007fd306f8870d in __GI___fortify_fail (msg=msg@entry=0x7fd307007bbe "buffer overflow detected") at fortify_fail.c:26 0x00007fd306f8710b in __GI___chk_fail () at chk_fail.c:28 28 chk_fail.c: Datei oder Verzeichnis nicht gefunden. (rr) Run back to call of #0 0x00007fd306f8710b in __GI___chk_fail () at chk_fail.c:28 ___snprintf_chk (s=s@entry=0x557098bb5664 "~/.eboard/eng-out", maxlen=maxlen@entry=512, flag=flag@entry=1, slen=slen@entry=256, format=format@entry=0x557097beb6bc "%s/.eboard/craftylog") at snprintf_chk.c:29 29 snprintf_chk.c: Datei oder Verzeichnis nicht gefunden. (rr) Run back to call of #0 ___snprintf_chk (s=s@entry=0x557098bb5664 "~/.eboard/eng-out", maxlen=maxlen@entry=512, flag=flag@entry=1, slen=slen@entry=256, format=format@entry=0x557097beb6bc "%s/.eboard/craftylog") at snprintf_chk.c:29 0x0000557097bd3a87 in snprintf (__fmt=0x557097beb6bc "%s/.eboard/craftylog", __n=512, __s=0x557098bb5664 "~/.eboard/eng-out") at /usr/include/x86_64-linux-gnu/bits/stdio2.h:67 warning: Source file is more recent than executable. 67 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, (rr) Run till exit from #0 0x0000557097bd3a87 in snprintf (__fmt=0x557097beb6bc "%s/.eboard/craftylog", __n=512, __s=0x557098bb5664 "~/.eboard/eng-out") at /usr/include/x86_64-linux-gnu/bits/stdio2.h:67 CraftyProtocol::readDialog (this=0x557098bb5410) at proto_xboard.cc:1086 1086 snprintf(EngineRunDir,512,"%s/.eboard/craftylog",global.env.Home.c_str()); (rr) list proto_xboard.h:118 113 TimeControl timecontrol; 114 int MaxDepth; 115 bool ThinkAlways; 116 variant Variant; 117 char EngineCommandLine[512]; 118 char EngineRunDir[256]; <<<<<<<<<< 119 char ComputerName[64]; 120 121 bool supports_setboard; 122 bool requires_usermove; (rr) list proto_xboard.cc:1086 1081 XBoardProtocol::readDialog(); 1082 resolvePaths(); 1083 snprintf(EngineCommandLine,512,"crafty bookpath=%s logpath=%s tbpath=%s", 1084 BookPath,LogPath,LogPath); 1085 if (!global.env.Home.empty()) 1086 snprintf(EngineRunDir,512,"%s/.eboard/craftylog",global.env.Home.c_str()); <<<<<<<<<< 1087 else 1088 strcpy(EngineRunDir,"/tmp"); 1089 1090 if (ebm) { https://github.com/fbergo/eboard/commit/ed33049aff2cefd7508bcda8ab738b8ec871c948 https://bugs.launchpad.net/ubuntu/+source/eboard/+bug/1306419