Przeglądaj źródła

modules_k/textops If s0.s is NULL do not memcpy it.

Marius Zbihlei 14 lat temu
rodzic
commit
4b6cfe3038
1 zmienionych plików z 7 dodań i 5 usunięć
  1. 7 5
      modules_k/textops/textops.c

+ 7 - 5
modules_k/textops/textops.c

@@ -1475,13 +1475,15 @@ int add_hf_helper(struct sip_msg* msg, str *str1, str *str2,
 	len=s0.len;
 	if (str2) len+= str2->len + REQ_LINE(msg).uri.len;
 
-	s = (char*)pkg_malloc(len);
-	if (!s) {
-		LM_ERR("no pkg memory left\n");
-		return -1;
+	if (likely(len>0)){
+		s = (char*)pkg_malloc(len);
+		if (!s) {
+			LM_ERR("no pkg memory left\n");
+			return -1;
+		}
+		memcpy(s, s0.s, s0.len);
 	}
 
-	memcpy(s, s0.s, s0.len);
 	if (str2) {
 		memcpy(s+str1->len, REQ_LINE(msg).uri.s, REQ_LINE(msg).uri.len);
 		memcpy(s+str1->len+REQ_LINE(msg).uri.len, str2->s, str2->len );