Thanks for reporting, it has to be fixed without allocating an useless byte. I will look at it soon.
Cheers, Daniel
On 2/5/13 5:45 PM, Stoyan Mihaylov wrote:
When I used, last versions from git, I got error and crash of kamailo using m_dump. I got latest version from git, and I made one patch:
diff --git a/modules/msilo/msilo.c b/modules/msilo/msilo.c index 209b309..4bda8fa 100644 --- a/modules/msilo/msilo.c +++ b/modules/msilo/msilo.c @@ -1125,8 +1125,16 @@ static int m_dump(struct sip_msg* msg, str* owner_s) memcpy(tmp_extra_hdrs.s, extra_hdrs_str.s, extra_hdrs_str.len); memcpy(tmp_extra_hdrs.s+extra_hdrs_str.len, str_vals[4].s, str_vals[4].len); } else {
tmp_extra_hdrs.len = 0;
tmp_extra_hdrs.s = "";
tmp_extra_hdrs.len = 0;
if ((tmp_extra_hdrs.s = pkg_malloc(1)) == NULL)
{
LM_ERR("Out of pkg memory");
if (msilo_dbf.free_result(db_con, db_res) < 0)
LM_ERR("failed to free the
query result\n");
msg_list_set_flag(ml, mid, MS_MSG_ERRO);
goto error;
}
tmp_extra_hdrs.s[0]='\x0'; } hdr_str.len = 1024; if(m_build_headers(&hdr_str, str_vals[3] /*ctype*/,
The problem is: tmp_extra_hdrs.s = ""; and consequent pkg_free(tmp_extra_hdrs.s);
As I see, there are couple of ways to solve problem, one of them is setting tmp_extra_hdrs.s = 0; but then we have warnings, or setting tmp_extra_hdrs.s = 0; and check before pkg_free, but pkg_free is used on couple of places. I am not sure what is the best way to report bugs and offer patches.
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev