Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package jumpnbump

jumpnbump 1.61-3 and below crash when the player jumps and sound is enabled
(the default) on systems where type char is unsigned (e.g. arm* powerpc*). 
This is due to passing -1 to a parameter of type char wich then wraps to
255 causing an out of bounds array reference.

Unless the player knows this is a sound issue and knows how to disable sound
this renders the game unplayable on those architectures.

The fix for the issue is trivial and has been accepted upstream. It simply
consists of changing the parameter type from char to signed char.

unblock jumpnbump/1.61-3.1

-- System Information:
Debian Release: 10.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'oldoldstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-10-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru jumpnbump-1.61/debian/changelog jumpnbump-1.61/debian/changelog
--- jumpnbump-1.61/debian/changelog     2020-07-26 15:48:41.000000000 +0100
+++ jumpnbump-1.61/debian/changelog     2021-04-24 13:35:52.000000000 +0100
@@ -1,3 +1,11 @@
+jumpnbump (1.61-3.1) unstable; urgency=medium
+
+  * Non-maintainer upload with maintainers approval.
+  * Apply upstream fix to prevent crash on systems where char is unsigned.
+    (Closes: 987333)
+
+ -- Peter Michael Green <plugw...@debian.org>  Sat, 24 Apr 2021 13:35:52 +0100
+
 jumpnbump (1.61-3) unstable; urgency=medium
 
   * Backport post-release patch from upstream to add future gcc
diff -Nru jumpnbump-1.61/debian/patches/0018-Fix-char-signedness.patch 
jumpnbump-1.61/debian/patches/0018-Fix-char-signedness.patch
--- jumpnbump-1.61/debian/patches/0018-Fix-char-signedness.patch        
1970-01-01 01:00:00.000000000 +0100
+++ jumpnbump-1.61/debian/patches/0018-Fix-char-signedness.patch        
2021-04-24 13:29:18.000000000 +0100
@@ -0,0 +1,32 @@
+commit 8a6873baa395f16048c6865f7036650a3b2bbe76
+Author: Frank Birbacher <frank.birbac...@gmail.com>
+Date:   Sun Dec 27 12:59:33 2020 +0000
+
+    Fix dj channel signedness
+
+diff --git a/dj.h b/dj.h
+index 07f4a32..985548b 100644
+--- a/dj.h
++++ b/dj.h
+@@ -115,7 +115,7 @@ extern void dj_mix(void);
+ extern char dj_set_num_sfx_channels(char num_channels);
+ extern void dj_set_sfx_volume(char volume);
+ extern char dj_get_sfx_volume(void);
+-extern void dj_play_sfx(unsigned char sfx_num, unsigned short freq, char 
volume, char panning, unsigned short delay, char channel);
++extern void dj_play_sfx(unsigned char sfx_num, unsigned short freq, char 
volume, char panning, unsigned short delay, signed char channel);
+ extern char dj_get_sfx_settings(unsigned char sfx_num, sfx_data *data);
+ extern char dj_set_sfx_settings(unsigned char sfx_num, sfx_data *data);
+ extern void dj_set_sfx_channel_volume(char channel_num, char volume);
+diff --git a/sdl/sound.c b/sdl/sound.c
+index ff1ee7e..4ea56af 100644
+--- a/sdl/sound.c
++++ b/sdl/sound.c
+@@ -357,7 +357,7 @@ void dj_set_sfx_volume(char volume)
+       SDL_UnlockAudio();
+ }
+ 
+-void dj_play_sfx(unsigned char sfx_num, unsigned short freq, char volume, 
char panning, unsigned short delay, char channel)
++void dj_play_sfx(unsigned char sfx_num, unsigned short freq, char volume, 
char panning, unsigned short delay, signed char channel)
+ {
+       int slot;
+ 
diff -Nru jumpnbump-1.61/debian/patches/series 
jumpnbump-1.61/debian/patches/series
--- jumpnbump-1.61/debian/patches/series        2020-07-26 15:46:24.000000000 
+0100
+++ jumpnbump-1.61/debian/patches/series        2021-04-24 13:30:09.000000000 
+0100
@@ -1,2 +1,3 @@
 0015-menu-use-Pillow-instead-of-ImageMagick-for-level-pre.patch
 0017-Add-future-gcc-default-fno-common-and-fix-code.patch
+0018-Fix-char-signedness.patch

Reply via email to