swid: Properly clean up after reading SWID tag
authorTobias Brunner <tobias@strongswan.org>
Tue, 29 Oct 2013 12:14:37 +0000 (13:14 +0100)
committerTobias Brunner <tobias@strongswan.org>
Tue, 29 Oct 2013 12:18:05 +0000 (13:18 +0100)
src/libpts/swid/swid_inventory.c

index 3cbafe9..a689ccd 100644 (file)
@@ -68,7 +68,7 @@ static bool collect_tags(private_swid_inventory_t *this, char *pathname,
                return FALSE;
        }
        DBG2(DBG_IMC, "entering %s", pathname);
-       
+
        while (enumerator->enumerate(enumerator, &rel_name, &abs_name, &st))
        {
                char * start, *stop;
@@ -208,9 +208,10 @@ static bool collect_tags(private_swid_inventory_t *this, char *pathname,
                                goto end;
                        }
                        xml_tag = chunk_create(addr, sb.st_size);
-
                        tag = swid_tag_create(xml_tag, unique_seq_id);
                        this->list->insert_last(this->list, tag);
+                       munmap(addr, sb.st_size);
+                       close(fd);
                }
                else
                {