diff --git a/pe-parser-library/src/parse.cpp b/pe-parser-library/src/parse.cpp
index d6e4d16..af82412 100644
--- a/pe-parser-library/src/parse.cpp
+++ b/pe-parser-library/src/parse.cpp
@@ -2670,6 +2670,7 @@ bool GetDataDirectoryEntry(parsed_pe *pe,
     }
 
     raw_entry.assign(buf->buf, buf->buf + buf->bufLen);
+    deleteBuffer(buf);
   } else {
     section sec;
     if (!getSecForVA(pe->internal->secs, addr, sec)) {