<html><head></head><body><div>IT makers sense.<br><br><div class="acompli_signature">Verzonden vanuit <a href="https://aka.ms/sdimjr">Outlook Mobile</a></div><br></div><br><br><br>
<div class="gmail_quote">On Fri, Mar 11, 2016 at 11:55 AM -0800, "Rodrigo Pimenta Carvalho" <span dir="ltr">&lt;<a href="mailto:pimenta@inatel.br" target="_blank">pimenta@inatel.br</a>&gt;</span> wrote:<br>
<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="3D&quot;ltr&quot;">


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>


<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hi.</p>
<p><br>
</p>
<p>I'm using a release of OpenSIPS 2.1 from 2015.<br>
</p>
<p><br>
</p>
<p>When I use avp_db_query to execute SQL Select, everything is ok.</p>
<p>However if I use avp_db_query to execute, let's say, a SQL Update, there is a misinterpretation of a parameter in db_sqlite_free.</p>
<p><br>
</p>
<p>The parameter _r will be null and the original function&nbsp;db_sqlite_free interprets it as an invalid parameter. But it is not. For SQL Updates, the result (_r) will be null. It is not an error.</p>
<p>So, there is no need to log 'invalid parameter value' message. In this case, I have changed the beginning of the function db_sqlite_free as you can see:<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>/**<br>
&nbsp;* Release a result set from memory.<br>
&nbsp;* \param _h handle to the database<br>
&nbsp;* \param _r result set that should be freed<br>
&nbsp;* \return zero on success, negative value on failure<br>
&nbsp;*/<br>
int db_sqlite_free_result(db_con_t* _h, db_res_t* _r)<br>
{<br>
&nbsp;&nbsp; &nbsp;int i;<br>
&nbsp;&nbsp; &nbsp;int j;<br>
&nbsp;&nbsp; &nbsp;db_val_t* v;<br>
&nbsp;&nbsp; &nbsp;db_row_t* res_col;<br>
<br>
&nbsp;&nbsp; &nbsp;if (!_h) {<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;LM_ERR("invalid parameter value\n");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return -1;<br>
&nbsp;&nbsp; &nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!_r){<br>
&nbsp;&nbsp; &nbsp;&nbsp; return 0; //Returns zero because it is&nbsp; not a problem when this parameter is null, for example.<br>
&nbsp;&nbsp; &nbsp;}</p>
<p>.</p>
<p>.</p>
<p>.</p>
<p><br>
</p>
<p>Does it make sense?</p>
<p><br>
</p>
<p>Regards.<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<div id="Signature">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div class="BodyFragment"><font size="2">
<div class="PlainText">RODRIGO PIMENTA CARVALHO<br>
Inatel Competence Center<br>
Software<br>
Ph: +55 35 3471 9200 RAMAL 979<br>
</div>
</font></div>
</div>
</div>
</div>



</div>

</blockquote>
</div>
</body></html>