32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
From c3fcff52912b0323e11f535fce151dc758f111e6 Mon Sep 17 00:00:00 2001
|
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
|
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
|
|
|