mikmod: fix startup crash on _FORTIFY_SOURCE=3

Without the change `mikmod` crashes at startup as:

    $ nix run nixpkgs#mikmod
    *** buffer overflow detected ***: terminated
    Aborted (core dumped)

The change fixes `snprintf()` buffer size accounting by picking patch
proposed for upstream inclusion:

    https://sourceforge.net/p/mikmod/patches/17/
This commit is contained in:
Sergei Trofimovich
2024-01-13 22:51:53 +00:00
parent 221ad6d7ff
commit d6d5c923f6
+12 -1
View File
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, libmikmod, ncurses }:
{ lib, stdenv, fetchurl, fetchpatch, libmikmod, ncurses }:
stdenv.mkDerivation rec {
pname = "mikmod";
@@ -9,6 +9,17 @@ stdenv.mkDerivation rec {
sha256 = "1k54p8pn3jinha0f2i23ad15pf1pamibzcxjrbzjbklpcz1ipc6v";
};
patches = [
# Fix player startup crash due to stack overflow check:
# https://sourceforge.net/p/mikmod/patches/17/
(fetchpatch {
name = "fortify-source-3.patch";
url = "https://sourceforge.net/p/mikmod/patches/17/attachment/0001-mikmod-fix-startup-crash-on-_FROTIFY_SOURCE-3-system.patch";
stripLen = 1;
hash = "sha256-YtbnLTsW3oYPo4r3fh3DUd3DD5ogWrCNlrDcneY03U0=";
})
];
buildInputs = [ libmikmod ncurses ];
meta = {