Procházet zdrojové kódy

Improved Free at cscf_get_service_route(), caused a reproducable crash

Carsten Bock před 11 roky
rodič
revize
caa9954d3c
1 změnil soubory, kde provedl 4 přidání a 2 odebrání
  1. 4 2
      lib/ims/ims_getters.c

+ 4 - 2
lib/ims/ims_getters.c

@@ -1361,14 +1361,16 @@ str* cscf_get_service_route(struct sip_msg *msg, int *size, int is_shm) {
 		h = h->next;
 	}
 	if (is_shm) {
-		while (h)
+		h = msg->headers;
+		while (h) {
 			if (h->name.len == 13
 					&& strncasecmp(h->name.s, "Service-Route", 13) == 0) {
 				h->parsed = 0;
 				r = (rr_t*) h->parsed;
 				free_rr(&r);
 			}
-		h = h->next;
+			h = h->next;
+		}
 	}
 
 	return x;