[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