diff --git a/libsofia-sip-ua/sip/sip_parser.c b/libsofia-sip-ua/sip/sip_parser.c index f4da2b297..56c6e764b 100644 --- a/libsofia-sip-ua/sip/sip_parser.c +++ b/libsofia-sip-ua/sip/sip_parser.c @@ -668,8 +668,9 @@ int sip_complete_message(msg_t *msg) if (sip == NULL) return -1; - if (!sip->sip_separator) - sip->sip_separator = sip_separator_create(msg_home(msg)); + if (!sip->sip_separator && + !(sip->sip_separator = sip_separator_create(msg_home(msg)))) + return -1; if (sip->sip_multipart) { sip_content_type_t *c = sip->sip_content_type;