rem: _s->s = shm_malloc(body->body.len - tag_len);
add: _s->s = shm_malloc(_h->body.len - tag_len);
context: static inline int get_dlg_uri(struct hdr_field* _h, str* _s){	struct to_param* ptr;	struct to_body* body;	char* tag = 0; /* Makes gcc happy */	int tag_len = 0, len;	if (!_h) {		LOG(L_ERR, "get_dlg_uri(): Header field not found\n");		return -1;	}	     /* From was already parsed when extracting tag	      * and To is parsed by default	      */		body = (struct to_body*)_h->parsed;	ptr = body->param_lst;	while(ptr) {		if (ptr->type == TAG_PARAM) break;		ptr = ptr->next;	}	if (ptr) {	     /* Tag param found */		tag = ptr->name.s;		if (ptr->next) {			tag_len = ptr->next->name.s - tag;		} else {			tag_len = body->body.s + body->body.len - tag;		}	}	_s->s = shm_malloc(body->body.len - tag_len);	if (!_s->s) {		LOG(L_ERR, "get_dlg_uri(): No memory left\n");		return -1;	}	if (tag_len) {		len = tag - body->body.s;		memcpy(_s->s, body->body.s, len);		memcpy(_s->s + len, tag + tag_len, body->body.len - len - tag_len);		_s->len = body->body.len - tag_len;	} else {		memcpy(_s->s, body->body.s, body->body.len);		_s->len = body->body.len;	}	return 0;}