Răsfoiți Sursa

dialog: check CSeq careful with track_cseq_updates

to avoid null pointer access for malformed messages

(cherry picked from commit 59c7bf4f43a8cd5dcb0555835a064d88679956c5)
(cherry picked from commit 12ddd127343f1be98a4556aadd9ccfeafc3fbdc7)
Dmitri Savolainen 7 ani în urmă
părinte
comite
270b99711f
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      src/modules/dialog/dlg_cseq.c

+ 2 - 1
src/modules/dialog/dlg_cseq.c

@@ -73,7 +73,8 @@ static int dlg_cseq_prepare_msg(sip_msg_t *msg)
 		return 1;
 	}
 
-	if (parse_headers(msg, HDR_CSEQ_F, 0)==-1) {
+	if((!msg->cseq && (parse_headers(msg,HDR_CSEQ_F,0)<0 || !msg->cseq))
+		|| !msg->cseq->parsed){
 		LM_DBG("parsing cseq header failed\n");
 		return 2;
 	}