소스 검색

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

- just an improvement to avoid doing both operations by mistake
Daniel-Constantin Mierla 11 년 전
부모
커밋
256b1e17e5
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      pvapi.c

+ 3 - 1
pvapi.c

@@ -1473,8 +1473,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));
 }