|
From: | FEICHTER Christoph |
Subject: | [osip-dev] improvements in _eXosip_build_request_within_dialog |
Date: | Thu, 20 Oct 2016 10:45:01 +0000 |
hi aymeric, I found some more missing frees: (function
_eXosip_build_request_within_dialog, line 737ff) although it would only very rarely happen to hit these if-branches. int _eXosip_build_request_within_dialog (struct eXosip_t *excontext, osip_message_t ** dest, const char *method, osip_dialog_t * dialog, const char *transport) { ... i = osip_cseq_init (&cseq);
if (i != 0) { osip_message_free (request);
return i; } tmp = osip_malloc (20);
if (tmp == NULL) { osip_message_free (request);
osip_cseq_free (cseq);
return OSIP_NOMEM; } sprintf (tmp,
"%i", dialog->local_cseq); osip_cseq_set_number (cseq, tmp); osip_cseq_set_method (cseq, osip_strdup (method)); request->cseq = cseq; }
else { osip_cseq_t *cseq;
char *tmp; i = osip_cseq_init (&cseq);
if (i != 0) { osip_message_free (request);
return i; } dialog->local_cseq++;
/* we should we do that?? */ tmp = osip_malloc (20);
if (tmp == NULL) { osip_message_free (request);
osip_cseq_free (cseq);
return OSIP_NOMEM; } snprintf (tmp, 20,
"%i", dialog->local_cseq); osip_cseq_set_number (cseq, tmp); osip_cseq_set_method (cseq, osip_strdup (method)); request->cseq = cseq; } br, Christoph |
[Prev in Thread] | Current Thread | [Next in Thread] |