[Bf-blender-cvs] [a09a7f0] openvdb: Fix possible null pointer dereferencing.

Kévin Dietrich noreply at git.blender.org
Sat Dec 5 04:40:17 CET 2015


Commit: a09a7f022c7d880d9d50a651f9bf8eaa8bf0c124
Author: Kévin Dietrich
Date:   Sat Dec 5 04:24:34 2015 +0100
Branches: openvdb
https://developer.blender.org/rBa09a7f022c7d880d9d50a651f9bf8eaa8bf0c124

Fix possible null pointer dereferencing.

When copy-pasting goes bad, though it's unlikely they'll be null.

===================================================================

M	source/blender/editors/object/object_modifier.c

===================================================================

diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 1b207e6..a9d8ec7 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2502,14 +2502,13 @@ static int openvdb_cache_add_exec(bContext *C, wmOperator *op)
 {
 	Object *ob = CTX_data_active_object(C);
 	SmokeModifierData *smd = (SmokeModifierData *)modifiers_findByType(ob, eModifierType_Smoke);
-	SmokeDomainSettings *sds = smd->domain;
-	OpenVDBCache *cache, *cache_new;
 
 	if (!smd) {
 		return OPERATOR_CANCELLED;
 	}
 
-	cache = BKE_openvdb_get_current_cache(sds);
+	SmokeDomainSettings *sds = smd->domain;
+	OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds), *cache_new;
 
 	if (cache) {
 		cache->flags &= ~OPENVDB_CACHE_CURRENT;
@@ -2546,14 +2545,14 @@ static int openvdb_cache_remove_exec(bContext *C, wmOperator *op)
 {
 	Object *ob = CTX_data_active_object(C);
 	SmokeModifierData *smd = (SmokeModifierData *)modifiers_findByType(ob, eModifierType_Smoke);
-	SmokeDomainSettings *sds = smd->domain;
-	OpenVDBCache *cache, *cache_prev = NULL, *cache_next = NULL;
 
 	if (!smd) {
 		return OPERATOR_CANCELLED;
 	}
 
-	cache = BKE_openvdb_get_current_cache(sds);
+	SmokeDomainSettings *sds = smd->domain;
+	OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds);
+	OpenVDBCache *cache_prev = NULL, *cache_next = NULL;
 
 	if (cache) {
 		cache_prev = cache->prev;
@@ -2600,15 +2599,14 @@ static int openvdb_cache_move_exec(bContext *C, wmOperator *op)
 {
 	Object *ob = CTX_data_active_object(C);
 	SmokeModifierData *smd = (SmokeModifierData *)modifiers_findByType(ob, eModifierType_Smoke);
-	SmokeDomainSettings *sds = smd->domain;
-	OpenVDBCache *cache;
-	int direction = RNA_enum_get(op->ptr, "direction");
 
 	if (!smd) {
 		return OPERATOR_CANCELLED;
 	}
 
-	cache = BKE_openvdb_get_current_cache(sds);
+	SmokeDomainSettings *sds = smd->domain;
+	OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds);
+	int direction = RNA_enum_get(op->ptr, "direction");
 
 	if (direction == VDB_CACHE_MOVE_UP) {
 		if (cache->prev) {
@@ -2652,17 +2650,16 @@ static int openvdb_cache_free_exec(bContext *C, wmOperator *op)
 {
 	Object *ob = CTX_data_active_object(C);
 	SmokeModifierData *smd = (SmokeModifierData *)modifiers_findByType(ob, eModifierType_Smoke);
-	SmokeDomainSettings *sds = smd->domain;
-	OpenVDBCache *cache;
-	const char *relbase = modifier_path_relbase(ob);
-	char filename[FILE_MAX];
-	int fr;
 
 	if (!smd) {
 		return OPERATOR_CANCELLED;
 	}
 
-	cache = BKE_openvdb_get_current_cache(sds);
+	SmokeDomainSettings *sds = smd->domain;
+	OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds);
+	const char *relbase = modifier_path_relbase(ob);
+	char filename[FILE_MAX];
+	int fr;
 
 	if ((cache->flags & OPENVDB_CACHE_BAKED) != 0) {
 		for (fr = cache->startframe; fr <= cache->endframe; fr++) {




More information about the Bf-blender-cvs mailing list