summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2007-11-25 21:19:49 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2007-11-25 21:19:49 +0000
commit0e2e43f9050cde0fd5c34d4848cda31bb4ef6a2e (patch)
tree7827d445114cb2fb9daca268fdb8c92b47b8b537
parent70b092f7f0867bea62416ec9a86fe5e967829caa (diff)
downloadxine-lib-0e2e43f9050cde0fd5c34d4848cda31bb4ef6a2e.tar.gz
xine-lib-0e2e43f9050cde0fd5c34d4848cda31bb4ef6a2e.tar.bz2
Fix a signedness issue in genre number validation.
Negative values would be accepted, resulting in junk in XINE_META_INFO_GENRE or a segfault.
-rw-r--r--src/demuxers/id3.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/demuxers/id3.c b/src/demuxers/id3.c
index 0287447ce..6b36cc666 100644
--- a/src/demuxers/id3.c
+++ b/src/demuxers/id3.c
@@ -599,15 +599,15 @@ int id3v23_parse_tag(input_plugin_t *input,
/* id3v2 "genre" parsing code. what a ugly format ! */
static int id3v24_parse_genre(char* dest, char *src, int len) {
- int index = 0;
+ unsigned int index = 0;
dest[0] = '\0';
- if (sscanf(src, "%d", &index) == 1) {
+ if (sscanf(src, "%u", &index) == 1) {
if (index < ID3_GENRE_COUNT) {
strncpy(dest, id3_genre[index], len);
dest[len - 1] = '\0';
} else {
- lprintf("invalid index: %d\n", index);
+ lprintf("invalid index: %u\n", index);
}
}
return 1;