Coverity #1098451,#1098452,#1098453 Resource Leak Fixed
[scilab.git] / scilab / modules / arnoldi / sci_gateway / c / sci_dseupd.c
index 86274db..0db9a67 100644 (file)
@@ -439,6 +439,7 @@ int sci_dseupd(char *fname, void *pvApiCtx)
     // Retrieve a matrix of double at position 2.
     if (getAllocatedSingleString(pvApiCtx, piAddrpHOWMANY, &pHOWMANY))
     {
+        freeAllocatedSingleString(pHOWMANY);
         Scierror(202, _("%s: Wrong type for argument #%d: string expected.\n"), fname, 2);
         return 1;
     }
@@ -454,6 +455,7 @@ int sci_dseupd(char *fname, void *pvApiCtx)
     // Retrieve a matrix of double at position 7.
     if (getAllocatedSingleString(pvApiCtx, piAddrpBMAT, &pBMAT))
     {
+        freeAllocatedSingleString(pBMAT);
         freeAllocatedSingleString(pHOWMANY);
         Scierror(202, _("%s: Wrong type for argument #%d: string expected.\n"), fname, 7);
         return 1;
@@ -472,6 +474,7 @@ int sci_dseupd(char *fname, void *pvApiCtx)
     // Retrieve a matrix of double at position 9.
     if (getAllocatedSingleString(pvApiCtx, piAddrpWHICH, &pWHICH))
     {
+        freeAllocatedSingleString(pWHICH);
         freeAllocatedSingleString(pBMAT);
         freeAllocatedSingleString(pHOWMANY);
         Scierror(202, _("%s: Wrong type for argument #%d: string expected.\n"), fname, 9);