]> OCCT Git - occt.git/commitdiff
Fixed memleak and va_end_missing issues
authoraln <alukin@opencascade.com>
Tue, 28 Jun 2022 14:03:14 +0000 (17:03 +0300)
committeraln <alukin@opencascade.com>
Tue, 28 Jun 2022 14:03:14 +0000 (17:03 +0300)
src/GeomliteTest/GeomliteTest_SurfaceCommands.cxx
src/Standard/Standard_Dump.cxx

index 4becc6f98aca1cb56b3898df6f9441044a092736..3a3f025d8ee3f95660ca17f8832e9272f50bb580 100644 (file)
@@ -543,7 +543,11 @@ static Standard_Integer tobezier(Draw_Interpretor& di,
     if ( C3d.IsNull()) {
       Handle(Geom_BSplineSurface) S = 
        DrawTrSurf::GetBSplineSurface(a[2]);
-      if ( S.IsNull()) return 1;
+      if (S.IsNull())
+      {
+        delete[] name;
+        return 1;
+      }
       if (n == 7) {
        Standard_Real U1, U2, V1, V2;
        U1 = Draw::Atof(a[3]);
@@ -631,6 +635,8 @@ static Standard_Integer tobezier(Draw_Interpretor& di,
     }
   }
 
+  delete[] name;
+
   return 0;
 }
 
index 355db4647add205fdabf858c1b145b06c3790a8d..af65c6c3379e17259ca481c8b058f364421eb6b3 100644 (file)
@@ -160,7 +160,10 @@ Standard_Boolean Standard_Dump::InitRealValues (const TCollection_AsciiString& t
     TCollection_AsciiString aValueText = aSubText.SubString (aStreamPos, aNextPos - 1);
 
     if (!aValueText.IsRealValue())
+    {
+      va_end(vl);
       return Standard_False;
+    }
 
     Standard_Real aValue = aValueText.RealValue();
     *(va_arg(vl, Standard_Real*)) = aValue;