diff --git a/xscreensaver-5.37-0004-bsod-more-stack-use-after-scope-fix-for-utsname.patch b/xscreensaver-5.37-0004-bsod-more-stack-use-after-scope-fix-for-utsname.patch new file mode 100644 index 0000000..af02313 --- /dev/null +++ b/xscreensaver-5.37-0004-bsod-more-stack-use-after-scope-fix-for-utsname.patch @@ -0,0 +1,73 @@ +From c79a8b8fd1dc338da63679f49ebcf63960e16f72 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Mon, 7 Aug 2017 13:54:35 +0900 +Subject: [PATCH] bsod: more stack-use-after-scope fix for utsname + +With gcc71 -fsanitize=address, f example, ./hacks/bsod -only linux +aborts for stack-use-after-scope. This patch completes the fix for +stack-use-after-scope on bsod. +--- + hacks/bsod.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/hacks/bsod.c b/hacks/bsod.c +index fcb326d..0ffbeaf 100644 +--- a/hacks/bsod.c ++++ b/hacks/bsod.c +@@ -2566,6 +2566,9 @@ linux_fsck (Display *dpy, Window window) + int i; + const char *sysname; + char buf[1024]; ++# ifdef HAVE_UNAME ++ struct utsname uts; ++#endif /* UNAME */ + + const char *linux_panic[] = { + " kernel: Unable to handle kernel paging request at virtual " +@@ -2608,7 +2611,6 @@ linux_fsck (Display *dpy, Window window) + sysname = "linux"; + # ifdef HAVE_UNAME + { +- struct utsname uts; + char *s; + if (uname (&uts) >= 0) + sysname = uts.nodename; +@@ -3356,6 +3358,9 @@ hpux (Display *dpy, Window window) + struct bsod_state *bst = make_bsod_state (dpy, window, "hpux", "HPUX"); + const char *sysname; + char buf[2048]; ++# ifdef HAVE_UNAME ++ struct utsname uts; ++# endif /* UNAME */ + + bst->scroll_p = True; + bst->y = bst->xgwa.height - bst->bottom_margin - bst->font->ascent; +@@ -3363,7 +3368,6 @@ hpux (Display *dpy, Window window) + sysname = "HPUX"; + # ifdef HAVE_UNAME + { +- struct utsname uts; + char *s; + if (uname (&uts) >= 0) + sysname = uts.nodename; +@@ -3544,6 +3548,9 @@ tru64 (Display *dpy, Window window) + struct bsod_state *bst = make_bsod_state (dpy, window, "tru64", "Tru64"); + const char *sysname; + char buf[2048]; ++# ifdef HAVE_UNAME ++ struct utsname uts; ++#endif /* UNAME */ + + bst->scroll_p = True; + bst->y = bst->xgwa.height - bst->bottom_margin - bst->font->ascent; +@@ -3551,7 +3558,6 @@ tru64 (Display *dpy, Window window) + sysname = "127.0.0.1"; + # ifdef HAVE_UNAME + { +- struct utsname uts; + if (uname (&uts) >= 0) + sysname = uts.nodename; + } +-- +2.13.4 + diff --git a/xscreensaver.spec b/xscreensaver.spec index 58204de..12244de 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -10,7 +10,7 @@ %define split_getimage 1 %endif -%define fedora_rel 5 +%define fedora_rel 6 %global use_clang_as_cc 0 %global use_clang_analyze 0 @@ -90,6 +90,8 @@ Patch3701: xscreensaver-5.37-0001-store_saver_id-fix-stack-use-after-scope Patch3702: xscreensaver-5.37-0002-bsod-fix-some-stack-use-after-scope-issues.patch # vigilance: fix which camera to pay attention on tick_camera Patch3703: xscreensaver-5.37-0003-vigilance-fix-which-camera-to-pay-attention-on-tick_.patch +# bsod: more stack-use-after-scope fix for utsname +Patch3704: xscreensaver-5.37-0004-bsod-more-stack-use-after-scope-fix-for-utsname.patch # # Debugging patch # Not apply by default @@ -1040,6 +1042,9 @@ exit 0 %endif %changelog +* Mon Aug 7 2017 Mamoru TASAKA - 1:5.37-6 +- bsod: more stack-use-after-scope fix for utsname + * Wed Aug 2 2017 Mamoru TASAKA - 1:5.37-5 - vigilance: fix which camera to pay attention on tick_camera