diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2007-11-25 21:19:49 +0000 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2007-11-25 21:19:49 +0000 |
commit | 0e2e43f9050cde0fd5c34d4848cda31bb4ef6a2e (patch) | |
tree | 7827d445114cb2fb9daca268fdb8c92b47b8b537 | |
parent | 70b092f7f0867bea62416ec9a86fe5e967829caa (diff) | |
download | xine-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.c | 6 |
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; |