<p>Pau Espin Pedrol has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12078">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">PointerFIFO: Fix memleak of ListNode<br><br>Found by ASan. when PointerFIFO::release() is called, alloicated node<br>being release is stored into an internal list for later-reuse without<br>having to access memory allocator. However, nodes from this list are<br>never freed.<br><br>Change-Id: I40e5e28603cde67005d9d92772967b05465ea2b8<br>---<br>M CommonLibs/LinkedLists.cpp<br>M CommonLibs/LinkedLists.h<br>2 files changed, 20 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/78/12078/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/CommonLibs/LinkedLists.cpp b/CommonLibs/LinkedLists.cpp</span><br><span>index 35a8541..b73a579 100644</span><br><span>--- a/CommonLibs/LinkedLists.cpp</span><br><span>+++ b/CommonLibs/LinkedLists.cpp</span><br><span>@@ -29,6 +29,25 @@</span><br><span> #include "LinkedLists.h"</span><br><span> </span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+PointerFIFO::~PointerFIFO()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     ListNode *node, *next;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      node = mHead;</span><br><span style="color: hsl(120, 100%, 40%);">+ while (node != NULL) {</span><br><span style="color: hsl(120, 100%, 40%);">+                next = node->next();</span><br><span style="color: hsl(120, 100%, 40%);">+               delete node;</span><br><span style="color: hsl(120, 100%, 40%);">+          node = next;</span><br><span style="color: hsl(120, 100%, 40%);">+  }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   node = mFreeList;</span><br><span style="color: hsl(120, 100%, 40%);">+     while (node != NULL) {</span><br><span style="color: hsl(120, 100%, 40%);">+                next = node->next();</span><br><span style="color: hsl(120, 100%, 40%);">+               delete node;</span><br><span style="color: hsl(120, 100%, 40%);">+          node = next;</span><br><span style="color: hsl(120, 100%, 40%);">+  }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> void PointerFIFO::push_front(void* val)       // by pat</span><br><span> {</span><br><span>       // Pat added this routine for completeness, but never used or tested.</span><br><span>diff --git a/CommonLibs/LinkedLists.h b/CommonLibs/LinkedLists.h</span><br><span>index 31fb9c5..136d13d 100644</span><br><span>--- a/CommonLibs/LinkedLists.h</span><br><span>+++ b/CommonLibs/LinkedLists.h</span><br><span>@@ -70,6 +70,7 @@</span><br><span>               :mHead(NULL),mTail(NULL),mFreeList(NULL),</span><br><span>            mSize(0)</span><br><span>     {}</span><br><span style="color: hsl(120, 100%, 40%);">+    ~PointerFIFO();</span><br><span> </span><br><span>  unsigned size() const { return mSize; }</span><br><span>      unsigned totalSize() const { return 0; }        // Not used in this version.</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12078">change 12078</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12078"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-trx </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I40e5e28603cde67005d9d92772967b05465ea2b8 </div>
<div style="display:none"> Gerrit-Change-Number: 12078 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>