<p>Yeah, I read up no gdb's list command and this seems wrong. I've downloaded the kamailio source code via <code>apt-get source</code> and these are the lines around line 3060 in pv_core.c:</p>
<div class="highlight highlight-source-c"><pre><span class="pl-c1">3050</span> hdr = msg->contact;
<span class="pl-c1">3051</span> <span class="pl-k">while</span>(hdr) {
<span class="pl-c1">3052</span> <span class="pl-smi">if</span> (hdr->type == HDR_CONTACT_T) {
<span class="pl-c1">3053</span> <span class="pl-smi">if</span> (!hdr->parsed && (<span class="pl-c1">parse_contact</span>(hdr) < <span class="pl-c1">0</span>)) {
<span class="pl-c1">3054</span> <span class="pl-smi">LM_ERR</span>(<span class="pl-s"><span class="pl-pds">"</span>failed to parse Contact body<span class="pl-cce">\n</span><span class="pl-pds">"</span></span>);
<span class="pl-c1">3055</span> <span class="pl-k">return</span> <span class="pl-c1">pv_get_null</span>(msg, param, res);
<span class="pl-c1">3056</span> }
<span class="pl-c1">3057</span> c = ((<span class="pl-c1">contact_body_t</span>*)hdr->parsed)->contacts;
<span class="pl-c1">3058</span> <span class="pl-smi">while</span>(c) {
<span class="pl-c1">3059</span> c = c->next;
<span class="pl-c1">3060</span> <span class="pl-smi">if</span>(c->expires && c->expires->body.<span class="pl-smi">len</span>) {
<span class="pl-c1">3061</span> <span class="pl-smi">if</span> (<span class="pl-c1">str2int</span>(&c->expires->body, &eval) < <span class="pl-c1">0</span>) {
<span class="pl-c1">3062</span> <span class="pl-smi">LM_ERR</span>(<span class="pl-s"><span class="pl-pds">"</span>failed to parse expires<span class="pl-cce">\n</span><span class="pl-pds">"</span></span>);
<span class="pl-c1">3063</span> <span class="pl-k">return</span> <span class="pl-c1">pv_get_null</span>(msg, param, res);
<span class="pl-c1">3064</span> }
<span class="pl-c1">3065</span> efound = <span class="pl-c1">1</span>;
<span class="pl-c1">3066</span> <span class="pl-smi">if</span>(eval>exp_max) exp_max = eval;
<span class="pl-c1">3067</span> <span class="pl-smi">if</span>(eval<exp_min) exp_min = eval;
<span class="pl-c1">3068</span> } <span class="pl-k">else</span> <span class="pl-k">if</span>(msg->expires && msg->expires->parsed) {
<span class="pl-c1">3069</span> eval = ehdr;
<span class="pl-c1">3070</span> efound = <span class="pl-c1">1</span>; </pre></div>
<p>Shouldn't <code>c = c->next</code> be at the end of the <code>while</code> loop?</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/kamailio/kamailio/issues/495#issuecomment-179799530">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AF36ZSTuRl0Psx7ILi3hP4-wr6Z4yd3Zks5pgzoHgaJpZM4HSh2i.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/kamailio/kamailio/issues/495#issuecomment-179799530"></link>
<meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>