From c3fcff52912b0323e11f535fce151dc758f111e6 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 14 Aug 2022 06:00:10 +0900 Subject: [PATCH] udev/cdrom_id: check last track info Fixes off-by-one issue. Fixes #24306. (cherry picked from commit 628998ecfa0d39b38874e1aecdb28022f80f3269) (cherry picked from commit c67a388aeffcdc27ff280f01b7939005f7a9c8e9) --- src/udev/cdrom_id/cdrom_id.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c index cdb66bb3b7..964eb6988e 100644 --- a/src/udev/cdrom_id/cdrom_id.c +++ b/src/udev/cdrom_id/cdrom_id.c @@ -704,7 +704,7 @@ static int cd_media_toc(Context *c) { /* Take care to not iterate beyond the last valid track as specified in * the TOC, but also avoid going beyond the TOC length, just in case * the last track number is invalidly large */ - for (size_t i = 4; i + 8 < len && num_tracks > 0; i += 8, --num_tracks) { + for (size_t i = 4; i + 8 <= len && num_tracks > 0; i += 8, --num_tracks) { bool is_data_track; uint32_t block; -- 2.33.0