Selaa lähdekoodia

dialog(k): populate bind addr before any error

- setting bind addr attribute in populate_leg_info() takes place before
  any parsing error may occur, to be sure it is set, avoiding extra
  check for null value when updating db
- reported by Kelvin Chua
- credits to Timo Reimann for troubleshooting
Daniel-Constantin Mierla 15 vuotta sitten
vanhempi
commit
fd68980dc6
1 muutettua tiedostoa jossa 2 lisäystä ja 1 poistoa
  1. 2 1
      modules_k/dialog/dlg_handlers.c

+ 2 - 1
modules_k/dialog/dlg_handlers.c

@@ -200,6 +200,8 @@ int populate_leg_info( struct dlg_cell *dlg, struct sip_msg *msg,
 	str contact;
 	str contact;
 	str rr_set;
 	str rr_set;
 
 
+	dlg->bind_addr[leg] = msg->rcv.bind_address;
+
 	/* extract the cseq number as string */
 	/* extract the cseq number as string */
 	if (leg==DLG_CALLER_LEG) {
 	if (leg==DLG_CALLER_LEG) {
 		if((!msg->cseq && (parse_headers(msg,HDR_CSEQ_F,0)<0 || !msg->cseq))
 		if((!msg->cseq && (parse_headers(msg,HDR_CSEQ_F,0)<0 || !msg->cseq))
@@ -269,7 +271,6 @@ int populate_leg_info( struct dlg_cell *dlg, struct sip_msg *msg,
 		goto error0;
 		goto error0;
 	}
 	}
 
 
-	dlg->bind_addr[leg] = msg->rcv.bind_address;
 	if (rr_set.s) pkg_free(rr_set.s);
 	if (rr_set.s) pkg_free(rr_set.s);
 
 
 	return 0;
 	return 0;