PointerFIFO: Fix memleak of ListNode

Found by ASan. when PointerFIFO::release() is called, alloicated node
being released is actually stored into an internal list for later-reuse
without having to access memory allocator. However, nodes from this
list are never freed.

Change-Id: I40e5e28603cde67005d9d92772967b05465ea2b8
diff --git a/CommonLibs/LinkedLists.cpp b/CommonLibs/LinkedLists.cpp
index 35a8541..b73a579 100644
--- a/CommonLibs/LinkedLists.cpp
+++ b/CommonLibs/LinkedLists.cpp
@@ -29,6 +29,25 @@
 #include "LinkedLists.h"
 
 
+PointerFIFO::~PointerFIFO()
+{
+	ListNode *node, *next;
+
+	node = mHead;
+	while (node != NULL) {
+		next = node->next();
+		delete node;
+		node = next;
+	}
+
+	node = mFreeList;
+	while (node != NULL) {
+		next = node->next();
+		delete node;
+		node = next;
+	}
+}
+
 void PointerFIFO::push_front(void* val)	// by pat
 {
 	// Pat added this routine for completeness, but never used or tested.