From 898a04632f46f0a421f7d8ef7f98bcf9cb2fa926 Mon Sep 17 00:00:00 2001 From: Cristy Date: Fri, 24 Nov 2017 09:39:22 -0500 Subject: [PATCH] Assert if resources go negative --- MagickCore/resource.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MagickCore/resource.c b/MagickCore/resource.c index 1dc2c0b1b..28980000e 100644 --- a/MagickCore/resource.c +++ b/MagickCore/resource.c @@ -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, -- 2.50.1