X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_rules_parse.c;h=cededf002d8518c2b62074c3936b7504cecc9570;hp=4580a779c6be8b77b3c5ccf8805765be20890a1c;hb=63cc8f049100c9b76ca4e37fc5c8976b6e92a207;hpb=13d11705bf0117365afc3f9210f4d568a2baa69c diff --git a/udev_rules_parse.c b/udev_rules_parse.c index 4580a779c..cededf002 100644 --- a/udev_rules_parse.c +++ b/udev_rules_parse.c @@ -650,10 +650,12 @@ int udev_rules_init(struct udev_rules *rules, int resolve_names) void udev_rules_close(struct udev_rules *rules) { - if (rules->mapped) - file_unmap(rules->buf, rules->bufsize); - else - free(rules->buf); - - rules->buf = NULL; + if (rules->buf) { + if (rules->mapped) { + rules->mapped = 0; + file_unmap(rules->buf, rules->bufsize); + } else + free(rules->buf); + rules->buf = NULL; + } }