diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-02-17 08:04:04 +0300 |
---|---|---|
committer | Nathan Letwory <nathan@blender.org> | 2020-03-09 22:33:32 +0300 |
commit | edc7bd5f3f054e2efee5d09f357a11be5ee64737 (patch) | |
tree | 68dab6d3e8c08d6bd12db14c85f9248a59f499ba | |
parent | 332b7d7d94e04dc1068c3f1fa61b486033d575f1 (diff) |
Fix T73862: Fluid Sim file handle resource leak
-rw-r--r-- | intern/mantaflow/intern/MANTA_main.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp index 91853ca566b..34b7b1a40d3 100644 --- a/intern/mantaflow/intern/MANTA_main.cpp +++ b/intern/mantaflow/intern/MANTA_main.cpp @@ -2635,6 +2635,7 @@ void MANTA::updateMeshFromUni(const char *filename) if (!ibuffer[0]) { // Any vertices present? if (with_debug) std::cout << "no vertices present yet" << std::endl; + gzclose(gzf); return; } @@ -2702,6 +2703,7 @@ void MANTA::updateParticlesFromUni(const char *filename, bool isSecondarySys, bo if (!strcmp(ID, "PB01")) { std::cout << "particle uni file format v01 not supported anymore" << std::endl; + gzclose(gzf); return; } @@ -2744,6 +2746,7 @@ void MANTA::updateParticlesFromUni(const char *filename, bool isSecondarySys, bo if (!ibuffer[0]) { // Any particles present? if (with_debug) std::cout << "no particles present yet" << std::endl; + gzclose(gzf); return; } @@ -2846,16 +2849,19 @@ int MANTA::updateGridFromUni(const char *filename, float *grid, bool isNoise) if (!strcmp(ID, "DDF2")) { std::cout << "MANTA::updateGridFromUni(): grid uni file format DDF2 not supported anymore" << std::endl; + gzclose(gzf); return 0; } if (!strcmp(ID, "MNT1")) { std::cout << "MANTA::updateGridFromUni(): grid uni file format MNT1 not supported anymore" << std::endl; + gzclose(gzf); return 0; } if (!strcmp(ID, "MNT2")) { std::cout << "MANTA::updateGridFromUni(): grid uni file format MNT2 not supported anymore" << std::endl; + gzclose(gzf); return 0; } @@ -2886,6 +2892,7 @@ int MANTA::updateGridFromUni(const char *filename, float *grid, bool isNoise) std::cout << "grid dim doesn't match, read: (" << ibuffer[0] << ", " << ibuffer[1] << ", " << ibuffer[2] << ") vs setup: (" << resX << ", " << resY << ", " << resZ << ")" << std::endl; + gzclose(gzf); return 0; } |