Browse Source

core: safety check for freeing either pkg or shm values for var, when applicable

- just an improvement to avoid doing both operations by mistake

(cherry picked from commit 256b1e17e5449ef844b885d542a9c1f66fad044a)
(cherry picked from commit 7a1f99285d6c6b5eeeaf463923c4f9ff7ccff5e4)
Daniel-Constantin Mierla 11 năm trước cách đây
mục cha
commit
f216e15302
1 tập tin đã thay đổi với 3 bổ sung1 xóa
  1. 3 1
      pvapi.c

+ 3 - 1
pvapi.c

@@ -1444,8 +1444,10 @@ int pv_elem_free_all(pv_elem_p log)
 void pv_value_destroy(pv_value_t *val)
 {
 	if(val==0) return;
+
 	if(val->flags&PV_VAL_PKG) pkg_free(val->rs.s);
-	if(val->flags&PV_VAL_SHM) shm_free(val->rs.s);
+	else if(val->flags&PV_VAL_SHM) shm_free(val->rs.s);
+
 	memset(val, 0, sizeof(pv_value_t));
 }