瀏覽代碼

registrar: if rcv_parm value is empty, don't add received to contacts in 200ok reply

- otherwise results in malformed value
Daniel-Constantin Mierla 12 年之前
父節點
當前提交
2f213e313a
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      modules/registrar/reply.c

+ 2 - 2
modules/registrar/reply.c

@@ -111,7 +111,7 @@ static inline unsigned int calc_buf_len(ucontact_t* c, str *host, int mode)
 			qlen = len_q(c->q);
 			if (qlen) len += Q_PARAM_LEN + qlen;
 			len += EXPIRES_PARAM_LEN + INT2STR_MAX_LEN;
-			if (c->received.s) {
+			if (rcv_param.len>0 && c->received.s) {
 				len += 1 /* ; */ 
 					+ rcv_param.len 
 					+ 1 /* = */ 
@@ -252,7 +252,7 @@ int build_contact(sip_msg_t *msg, ucontact_t* c, str *host)
 			memcpy(p, cp, len);
 			p += len;
 
-			if (c->received.s) {
+			if (rcv_param.len>0 && c->received.s) {
 				*p++ = ';';
 				memcpy(p, rcv_param.s, rcv_param.len);
 				p += rcv_param.len;