X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fcdrom_id%2Fcdrom_id.c;h=acf7a97e416d067a85c978c114ffa9444a0a810d;hb=58a63088871a0b51850351f0217d2f180a440b6c;hp=6d3326bd311851dfca1104fe68e346ba33f9d317;hpb=ec404619a6867d14adebe107a1ed74475ae2413f;p=elogind.git diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c index 6d3326bd3..acf7a97e4 100644 --- a/extras/cdrom_id/cdrom_id.c +++ b/extras/cdrom_id/cdrom_id.c @@ -37,7 +37,8 @@ #include #include #include -#include "../../udev.h" + +#include "../../udev/udev.h" #ifndef ARRAY_SIZE #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -470,9 +471,13 @@ static int cd_media_toc(int fd) info("READ TOC: len: %d\n", len); if (len > sizeof(toc)) return -1; - if (len < 8) + if (len < 2) return -1; + /* empty media has no tracks */ + if (len < 8) + return 0; + scsi_cmd_set(&sc, 0, 0x43); scsi_cmd_set(&sc, 6, header[2]); /* First Track/Session Number */ scsi_cmd_set(&sc, 7, len >> 8);