X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=libudev%2Flibudev-queue.c;h=f06c9e8a7a3caaeced9653bc7678f50a2adb0fa5;hp=68efba0eeee2bd246e7d975aaceae73d10b1154a;hb=9e6273c713c5a4b4317decca33d2fba830562ff2;hpb=214a6c791cbc0c1a190c430eb37056087e661344 diff --git a/libudev/libudev-queue.c b/libudev/libudev-queue.c index 68efba0ee..f06c9e8a7 100644 --- a/libudev/libudev-queue.c +++ b/libudev/libudev-queue.c @@ -360,10 +360,14 @@ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue, return 1; if (start < seqnum) start = seqnum; - if (start > end) + if (start > end) { + fclose(queue_file); return 1; - if (end - start > INT_MAX - 1) + } + if (end - start > INT_MAX - 1) { + fclose(queue_file); return -EOVERFLOW; + } unfinished = (end - start) + 1; while (unfinished > 0) {