From 70e9ae0996a197582a1d6e567ae2df4e7b7c0794 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Tue, 16 Dec 2025 15:08:54 -0500 Subject: [PATCH] metadata: Explicitly use base 10 when parsing track numbers Otherwise stuff with a leading 0 gets parsed as octal, leading to failures to parse '08' and '09' Change-Id: I997c505617104733793c6c113d4915bd4fd912e5 --- lib/rbcodec/metadata/asf.c | 2 +- lib/rbcodec/metadata/id3tags.c | 2 +- lib/rbcodec/metadata/metadata_common.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/rbcodec/metadata/asf.c b/lib/rbcodec/metadata/asf.c index 8ea729da3e..8a22638296 100644 --- a/lib/rbcodec/metadata/asf.c +++ b/lib/rbcodec/metadata/asf.c @@ -476,7 +476,7 @@ static int asf_parse_header(int fd, struct mp3entry* id3, asf_utf16LEdecode(fd, length, &id3buf, &id3buf_remaining); if (strlen(id3->track_string)) { char *p = NULL; - int tracknum = strtol(id3->track_string, &p, 0); + int tracknum = strtol(id3->track_string, &p, 10); if (!(tracknum == 0 && (errno || *p))) id3->tracknum = tracknum; } diff --git a/lib/rbcodec/metadata/id3tags.c b/lib/rbcodec/metadata/id3tags.c index 84b250718a..442366e054 100644 --- a/lib/rbcodec/metadata/id3tags.c +++ b/lib/rbcodec/metadata/id3tags.c @@ -245,7 +245,7 @@ static int parsetracknum( struct mp3entry* entry, char* tag, int bufferpos ) { if (strlen(tag)) { char *p = NULL; - int tracknum = strtol(tag, &p, 0); + int tracknum = strtol(tag, &p, 10); if (!(tracknum == 0 && (errno || *p))) entry->tracknum = tracknum; } diff --git a/lib/rbcodec/metadata/metadata_common.c b/lib/rbcodec/metadata/metadata_common.c index d17a8e5dea..4529ec9999 100644 --- a/lib/rbcodec/metadata/metadata_common.c +++ b/lib/rbcodec/metadata/metadata_common.c @@ -318,7 +318,7 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3, { if (strlen(value)) { char *p = NULL; - int tracknum = strtol(value, &p, 0); + int tracknum = strtol(value, &p, 10); if (!(tracknum == 0 && (errno || *p))) id3->tracknum = tracknum; }