Jelajahi Sumber

core: init allocated memory in str_hash_alloc()

- removed unused pointer shifting in dset.c
- small reworking of lval_assign()

(cherry picked from commit ba9f2b5af9cabd61f67ceedb8feab6bd7bc6526d)
Daniel-Constantin Mierla 4 tahun lalu
induk
melakukan
8cd3b40aa7
3 mengubah file dengan 4 tambahan dan 7 penghapusan
  1. 0 1
      src/core/dset.c
  2. 3 5
      src/core/lvalue.c
  3. 1 1
      src/core/str_hash.h

+ 0 - 1
src/core/dset.c

@@ -860,7 +860,6 @@ int msg_get_src_addr(sip_msg_t *msg, str *uri, int mode)
 		p += TRANSPORT_PARAM_LEN;
 
 		memcpy(p, proto.s, proto.len);
-		p += proto.len;
 	}
 
 	uri->s = buf;

+ 3 - 5
src/core/lvalue.c

@@ -380,7 +380,7 @@ int lval_assign(struct run_act_ctx* h, struct sip_msg* msg,
 	struct rvalue* rv;
 	int ret;
 
-	ret=0;
+	ret=-1;
 	rv=rval_expr_eval(h, msg, rve);
 	if (unlikely(rv==0)){
 		LM_ERR("rval expression evaluation failed (%d,%d-%d,%d)\n",
@@ -404,9 +404,7 @@ int lval_assign(struct run_act_ctx* h, struct sip_msg* msg,
 		LM_ERR("assignment failed at pos: (%d,%d-%d,%d)\n",
 			rve->fpos.s_line, rve->fpos.s_col,
 			rve->fpos.e_line, rve->fpos.e_col);
-	}
-	else
-	{
+	} else {
 		if(unlikely(_log_assign_action!=NULL))
 			_log_assign_action(msg, lv);
 	}
@@ -414,5 +412,5 @@ int lval_assign(struct run_act_ctx* h, struct sip_msg* msg,
 	return ret;
 error:
 	if (rv) rval_destroy(rv);
-	return -1;
+	return ret;
 }

+ 1 - 1
src/core/str_hash.h

@@ -56,7 +56,7 @@ struct str_hash_table{
 /* returns 0 on success, <0 on failure */
 inline static int str_hash_alloc(struct str_hash_table* ht, int size)
 {
-	ht->table=(struct str_hash_head*)pkg_malloc(sizeof(struct str_hash_head)*size);
+	ht->table=(struct str_hash_head*)pkg_mallocxz(sizeof(struct str_hash_head)*size);
 	if (ht->table==0) {
 		PKG_MEM_ERROR;
 		return -1;