diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2013-10-17 09:04:33 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2013-10-17 09:04:33 +0200 |
commit | efd624e7924ee0456ea18a1958f38cc9ea52a963 (patch) | |
tree | 3bf29be26dd5a54f300fe94a769b93cda3683c8b /package/libid3tag/patches/patch-utf16_c | |
parent | 1a10d0e3ef4d137a9093d27c99fec286a083c521 (diff) | |
parent | 7a464646964980beb100d22836ad36c02c695744 (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/libid3tag/patches/patch-utf16_c')
-rw-r--r-- | package/libid3tag/patches/patch-utf16_c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/package/libid3tag/patches/patch-utf16_c b/package/libid3tag/patches/patch-utf16_c new file mode 100644 index 000000000..1466ebdf7 --- /dev/null +++ b/package/libid3tag/patches/patch-utf16_c @@ -0,0 +1,21 @@ +--- libid3tag-0.15.1b.orig/utf16.c 2004-01-23 10:41:32.000000000 +0100 ++++ libid3tag-0.15.1b/utf16.c 2013-10-16 12:34:27.000000000 +0200 +@@ -282,5 +282,18 @@ id3_ucs4_t *id3_utf16_deserialize(id3_by + + free(utf16); + ++ if (end == *ptr && length % 2 != 0) ++ { ++ /* We were called with a bogus length. It should always ++ * be an even number. We can deal with this in a few ways: ++ * - Always give an error. ++ * - Try and parse as much as we can and ++ * - return an error if we're called again when we ++ * already tried to parse everything we can. ++ * - tell that we parsed it, which is what we do here. ++ */ ++ (*ptr)++; ++ } ++ + return ucs4; + } |