Quellcode durchsuchen

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 vor 15 Jahren
Ursprung
Commit
fd68980dc6
1 geänderte Dateien mit 2 neuen und 1 gelöschten Zeilen
  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 rr_set;
 
+	dlg->bind_addr[leg] = msg->rcv.bind_address;
+
 	/* extract the cseq number as string */
 	if (leg==DLG_CALLER_LEG) {
 		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;
 	}
 
-	dlg->bind_addr[leg] = msg->rcv.bind_address;
 	if (rr_set.s) pkg_free(rr_set.s);
 
 	return 0;