rem: memset(&parsed, 0, sizeof(struct to_body)); parse_to(rpid.s, rpid.s + rpid.len + 1, &parsed);  if (parsed.error == PARSE_ERROR) { LOG(L_ERR, "is_rpid_user_e164(): Bad RPID header\n"); rpid_is_e164 = -1; return -1; }  if (parse_uri(parsed.uri.s, parsed.uri.len, &uri) < 0) { LOG(L_ERR, "is_rpid_user_e164(): Error while parsing RPID URI\n"); rpid_is_e164 = -1;
add: parsed = (struct to_body*)pkg_malloc(sizeof(struct to_body)); if (parsed == 0) { LOG(L_ERR, "is_rpid_user_e164(): No memory left\n");
context: int is_rpid_user_e164(struct sip_msg* _m, char* _s1, char* _s2){	struct to_body parsed;	struct sip_uri uri;	if (rpid_is_e164) return rpid_is_e164;	if (!rpid.len) {		DBG("is_rpid_user_e164(): Empty rpid\n");		rpid_is_e164 = -1;		return -1;	}	memset(&parsed, 0, sizeof(struct to_body));	parse_to(rpid.s, rpid.s + rpid.len + 1, &parsed);		if (parsed.error == PARSE_ERROR) {		LOG(L_ERR, "is_rpid_user_e164(): Bad RPID header\n");		rpid_is_e164 = -1;		return -1;	}		if (parse_uri(parsed.uri.s, parsed.uri.len, &uri) < 0) {		LOG(L_ERR, "is_rpid_user_e164(): Error while parsing RPID URI\n");		rpid_is_e164 = -1;		return -1;	}	rpid_is_e164 = (is_e164(&uri.user) ? 1 : -1);	return rpid_is_e164;}