Package: release.debian.org User: [email protected] Usertags: unblock Severity: normal
Please unblock package freedink The upload applies a fix from upstream for a segfault due to an off-by-one overflow. The latest rebuild makes the game segfault on savegame reload, making the game mostly unusable. Also the upload fixes binNMU support which is currently harmed by a /usr/share/doc symlink from the "all" meta-package to the "arch" main package. diff -Nru freedink-108.4+dfsg/debian/changelog freedink-108.4+dfsg/debian/changelog --- freedink-108.4+dfsg/debian/changelog 2017-01-22 21:06:51.000000000 +0100 +++ freedink-108.4+dfsg/debian/changelog 2017-04-09 23:10:58.000000000 +0200 @@ -1,3 +1,10 @@ +freedink (108.4+dfsg-2) unstable; urgency=medium + + * Don't symlink /usr/share/doc/freedink to support binNMU + * Fix segfault when loading game and exiting editor. + + -- Sylvain Beucler <[email protected]> Sun, 09 Apr 2017 23:10:58 +0200 + freedink (108.4+dfsg-1) unstable; urgency=medium * Stub out share/freedink/LiberationSans-Regular.ttf (Closes: #851110) diff -Nru freedink-108.4+dfsg/debian/freedink.maintscript freedink-108.4+dfsg/debian/freedink.maintscript --- freedink-108.4+dfsg/debian/freedink.maintscript 1970-01-01 01:00:00.000000000 +0100 +++ freedink-108.4+dfsg/debian/freedink.maintscript 2017-04-09 23:10:58.000000000 +0200 @@ -0,0 +1,2 @@ +symlink_to_dir /usr/share/doc/freedink freedink-engine 108.4+dfsg-2~~ +symlink_to_dir /usr/share/doc/freedink-engine-dbg freedink-engine 108.4+dfsg-2~~ diff -Nru freedink-108.4+dfsg/debian/patches/segfault.patch freedink-108.4+dfsg/debian/patches/segfault.patch --- freedink-108.4+dfsg/debian/patches/segfault.patch 1970-01-01 01:00:00.000000000 +0100 +++ freedink-108.4+dfsg/debian/patches/segfault.patch 2017-04-09 23:01:18.000000000 +0200 @@ -0,0 +1,36 @@ +commit 2516bb7c16066d432bf287567f30d533cd067337 +Author: Sylvain Beucler <[email protected]> +Date: Wed Jun 18 23:20:23 2014 +0200 + + Don't access callback[MAX_CALLBACKS] (overflow) + +diff --git a/src/dinkc.c b/src/dinkc.c +index 74c1e6d..fdf1f19 100644 +--- a/src/dinkc.c ++++ b/src/dinkc.c +@@ -64,7 +64,6 @@ struct call_back + unsigned long timer; + }; + static struct call_back callback[MAX_CALLBACKS]; +-/* TODO: Used 1->100 in the game, should it be MAX_CALLBACKS+1 ? */ + + /* DinkC script buffer */ + static char *rbuf[MAX_SCRIPTS]; //pointers to buffers we may need +@@ -779,7 +778,7 @@ int add_callback(char name[20], int n1, int n2, int script) + + void kill_callback(int cb) + { +- if (cb >= 0 && cb <= 99) ++ if (cb >= 0 && cb < MAX_CALLBACKS) + callback[cb].active = /*false*/0; + } + +@@ -870,7 +869,7 @@ void kill_all_scripts_for_real(void) + kill_script(k); + } + +- for (k = 1; k <= MAX_CALLBACKS; k++) ++ for (k = 1; k < MAX_CALLBACKS; k++) + { + callback[k].active = 0; + } diff -Nru freedink-108.4+dfsg/debian/patches/series freedink-108.4+dfsg/debian/patches/series --- freedink-108.4+dfsg/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ freedink-108.4+dfsg/debian/patches/series 2017-04-09 23:08:56.000000000 +0200 @@ -0,0 +1 @@ +segfault.patch diff -Nru freedink-108.4+dfsg/debian/rules freedink-108.4+dfsg/debian/rules --- freedink-108.4+dfsg/debian/rules 2014-10-17 17:15:09.000000000 +0200 +++ freedink-108.4+dfsg/debian/rules 2017-04-09 23:10:58.000000000 +0200 @@ -46,9 +46,5 @@ # Install XPM icon cp -a src/freedink_xpm.c debian/freedink-engine/usr/share/pixmaps/freedink.xpm -override_dh_installdocs: - # --link-doc requires debhelper 7.4.2 - dh_installdocs --link-doc=freedink-engine - override_dh_installchangelogs: dh_installchangelogs ChangeLog unblock freedink/108.4+dfsg-2 -- System Information: Debian Release: 9.0 APT prefers testing APT policy: (500, 'testing'), (50, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)

