summaryrefslogtreecommitdiff
path: root/src/udev/cdrom_id
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-08-14 06:00:10 +0900
committerLennart Poettering <lennart@poettering.net>2022-08-15 12:56:26 +0200
commit628998ecfa0d39b38874e1aecdb28022f80f3269 (patch)
tree663e1fa22f79813a88e71b87ececda9cc6312b72 /src/udev/cdrom_id
parente56dc320d39ade1795118ebe400308a80511e9c9 (diff)
downloadsystemd-628998ecfa0d39b38874e1aecdb28022f80f3269.tar.gz
udev/cdrom_id: check last track info
Fixes off-by-one issue. Fixes #24306.
Diffstat (limited to 'src/udev/cdrom_id')
-rw-r--r--src/udev/cdrom_id/cdrom_id.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c
index 85cf5201c6..d2c1262121 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;