[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r13817 - Extractor/src/plugins
From: |
gnunet |
Subject: |
[GNUnet-SVN] r13817 - Extractor/src/plugins |
Date: |
Sat, 27 Nov 2010 19:01:46 +0100 |
Author: grothoff
Date: 2010-11-27 19:01:46 +0100 (Sat, 27 Nov 2010)
New Revision: 13817
Modified:
Extractor/src/plugins/id3v23_extractor.c
Log:
fkx
Modified: Extractor/src/plugins/id3v23_extractor.c
===================================================================
--- Extractor/src/plugins/id3v23_extractor.c 2010-11-27 17:54:44 UTC (rev
13816)
+++ Extractor/src/plugins/id3v23_extractor.c 2010-11-27 18:01:46 UTC (rev
13817)
@@ -136,6 +136,7 @@
char *mime;
enum EXTRACTOR_MetaType type;
size_t off;
+ int obo;
if ((size < 16) ||
(data[0] != 0x49) ||
@@ -285,21 +286,24 @@
if (csize < 5)
return 0; /* malformed */
/* find end of description */
+ obo = data[pos + 14] == '\0' ? 1 : 0; /* someone put a \0 in
front of comments... */
+ if (csize < 6)
+ obo = 0;
switch (data[pos + 10])
{
case 0x00:
- word = EXTRACTOR_common_convert_to_utf8 ((const char *)
&data[pos + 15],
- csize - 5,
"ISO-8859-1");
+ word = EXTRACTOR_common_convert_to_utf8 ((const char *)
&data[pos + 14 + obo],
+ csize - 4 - obo,
"ISO-8859-1");
break;
case 0x01:
- word = EXTRACTOR_common_convert_to_utf8 ((const char *)
&data[pos + 15],
- csize - 5,
"UCS-2");
+ word = EXTRACTOR_common_convert_to_utf8 ((const char *)
&data[pos + 14 + obo],
+ csize - 4 - obo,
"UCS-2");
break;
default:
/* bad encoding byte,
try to convert from iso-8859-1 */
- word = EXTRACTOR_common_convert_to_utf8 ((const char *)
&data[pos + 15],
- csize - 5,
"ISO-8859-1");
+ word = EXTRACTOR_common_convert_to_utf8 ((const char *)
&data[pos + 14 + obo],
+ csize - 4 - obo,
"ISO-8859-1");
break;
}
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r13817 - Extractor/src/plugins,
gnunet <=