Coverity #1098451,#1098452,#1098453 Resource Leak Fixed 77/17977/3
Aashish Misraa [Thu, 24 Mar 2016 22:40:48 +0000 (03:40 +0530)]
Change-Id: I881bfba99c15a0677f97a1f2767a63932a183f80

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);