]> granicus.if.org Git - imagemagick/commitdiff
Assert if resources go negative
authorCristy <urban-warrior@imagemagick.org>
Fri, 24 Nov 2017 14:39:22 +0000 (09:39 -0500)
committerCristy <urban-warrior@imagemagick.org>
Fri, 24 Nov 2017 14:39:22 +0000 (09:39 -0500)
MagickCore/resource.c

index 1dc2c0b1bf7a7037f4481776894250493dce2a83..28980000e4d426943cebf5068f72cc584a0f4358 100644 (file)
@@ -214,6 +214,7 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type,
         status=MagickTrue;
       else
         resource_info.memory-=(MagickOffsetType) size;
+      assert(resource_info.memory >= 0);
       if (logging != MagickFalse)
         {
           (void) FormatMagickSize(size,MagickTrue,"B",MagickFormatExtent,
@@ -234,6 +235,7 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type,
         status=MagickTrue;
       else
         resource_info.map-=(MagickOffsetType) size;
+      assert(resource_info.map >= 0);
       if (logging != MagickFalse)
         {
           (void) FormatMagickSize(size,MagickTrue,"B",MagickFormatExtent,
@@ -254,6 +256,7 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type,
         status=MagickTrue;
       else
         resource_info.disk-=(MagickOffsetType) size;
+      assert(resource_info.disk >= 0);
       if (logging != MagickFalse)
         {
           (void) FormatMagickSize(size,MagickTrue,"B",MagickFormatExtent,
@@ -274,6 +277,7 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type,
         status=MagickTrue;
       else
         resource_info.file-=(MagickOffsetType) size;
+      assert(resource_info.file >= 0);
       if (logging != MagickFalse)
         {
           (void) FormatMagickSize(size,MagickFalse,(const char *) NULL,
@@ -348,6 +352,7 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type,
         status=MagickTrue;
       else
         resource_info.time-=(MagickOffsetType) size;
+      assert(resource_info.time >= 0);
       if (logging != MagickFalse)
         {
           (void) FormatMagickSize(size,MagickFalse,(const char *) NULL,