X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=libudev%2Flibudev-queue.c;h=f06c9e8a7a3caaeced9653bc7678f50a2adb0fa5;hb=9bdcffd738f9170bda7a962affcf5d42381748e0;hp=68efba0eeee2bd246e7d975aaceae73d10b1154a;hpb=214a6c791cbc0c1a190c430eb37056087e661344;p=elogind.git 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) {