mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: id3lib: Apply patch for UTF16 writing bug.
* gnu/packages/patches/id3lib-UTF16-writing-bug.patch: New file. * gnu/packages/mp3.scm (id3lib)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
parent
bd321df37a
commit
b5f6700fb4
3 changed files with 43 additions and 2 deletions
|
@ -975,6 +975,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
|
||||
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
|
||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
|
||||
%D%/packages/patches/ilmbase-fix-tests.patch \
|
||||
%D%/packages/patches/ilmbase-openexr-pkg-config.patch \
|
||||
%D%/packages/patches/inkscape-poppler-0.76.patch \
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2017, 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -123,7 +123,8 @@ (define-public id3lib
|
|||
(modules '((guix build utils)))
|
||||
;; Don't use bundled zlib
|
||||
(snippet '(begin (delete-file-recursively "zlib") #t))
|
||||
(patches (search-patches "id3lib-CVE-2007-4460.patch"))))
|
||||
(patches (search-patches "id3lib-CVE-2007-4460.patch"
|
||||
"id3lib-UTF16-writing-bug.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(arguments
|
||||
|
|
39
gnu/packages/patches/id3lib-UTF16-writing-bug.patch
Normal file
39
gnu/packages/patches/id3lib-UTF16-writing-bug.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
|
||||
--- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100
|
||||
+++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100
|
||||
@@ -1,3 +1,8 @@
|
||||
+2006-02-17 Jerome Couderc
|
||||
+
|
||||
+ * Patch from Spoon to fix UTF-16 writing bug
|
||||
+ http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
|
||||
+
|
||||
2003-03-02 Sunday 17:38 Thijmen Klok <thijmen@id3lib.org>
|
||||
|
||||
* THANKS (1.20): added more people
|
||||
diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
|
||||
--- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100
|
||||
+++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100
|
||||
@@ -363,11 +363,22 @@
|
||||
// Write the BOM: 0xFEFF
|
||||
unicode_t BOM = 0xFEFF;
|
||||
writer.writeChars((const unsigned char*) &BOM, 2);
|
||||
+ // Patch from Spoon : 2004-08-25 14:17
|
||||
+ // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
|
||||
+ // Wrong code
|
||||
+ //for (size_t i = 0; i < size; i += 2)
|
||||
+ //{
|
||||
+ // unicode_t ch = (data[i] << 8) | data[i+1];
|
||||
+ // writer.writeChars((const unsigned char*) &ch, 2);
|
||||
+ //}
|
||||
+ // Right code
|
||||
+ unsigned char *pdata = (unsigned char *) data.c_str();
|
||||
for (size_t i = 0; i < size; i += 2)
|
||||
{
|
||||
- unicode_t ch = (data[i] << 8) | data[i+1];
|
||||
+ unicode_t ch = (pdata[i] << 8) | pdata[i+1];
|
||||
writer.writeChars((const unsigned char*) &ch, 2);
|
||||
}
|
||||
+ // End patch
|
||||
}
|
||||
return writer.getCur() - beg;
|
||||
}
|
Loading…
Reference in a new issue