]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev/cdrom_id: check last track info
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 13 Aug 2022 21:00:10 +0000 (06:00 +0900)
committerLennart Poettering <lennart@poettering.net>
Mon, 15 Aug 2022 10:56:26 +0000 (12:56 +0200)
Fixes off-by-one issue.

Fixes #24306.

src/udev/cdrom_id/cdrom_id.c

index 85cf5201c6a1d9960debfb60ddcfef89e9bd6460..d2c126212182993f56aa714f2c3be3c7dc0d709d 100644 (file)
@@ -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;