Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Update
GraphicsMagick.8039
GraphicsMagick-dcm.c-update.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File GraphicsMagick-dcm.c-update.patch of Package GraphicsMagick.8039
--- a/coders/dcm.c 2018-02-08 14:16:05.367700604 +0100 +++ b/coders/dcm.c 2018-01-10 12:57:36.015306751 +0100 @@ -1,5 +1,5 @@ /* -% Copyright (C) 2003-2009 GraphicsMagick Group +% Copyright (C) 2003-2017 GraphicsMagick Group % Copyright (C) 2002 ImageMagick Studio % Copyright 1991-1999 E. I. du Pont de Nemours and Company % @@ -136,7 +136,7 @@ typedef struct _DicomStream msb_state; Dicom_PI - phot_interp; + phot_interp; double window_center, @@ -185,7 +185,7 @@ typedef struct _DicomStream Quantum *rescale_map; -#if defined(USE_GRAYMAP) +#if defined(USE_GRAYMAP) unsigned short *graymap; #endif @@ -2972,7 +2972,7 @@ static MagickPassFail funcDCM_TriggerTim ARG_NOT_USED(exception); (void) SetImageAttribute(image,"TriggerTime",(char *) dcm->data); - return MagickPass; + return MagickPass; } static MagickPassFail funcDCM_FieldOfView(Image *image,DicomStream *dcm,ExceptionInfo *exception) @@ -3001,7 +3001,7 @@ static MagickPassFail funcDCM_ImageOrien { ARG_NOT_USED(exception); (void) SetImageAttribute(image,"ImageOrientation",(char *) dcm->data); - return MagickPass; + return MagickPass; } static MagickPassFail funcDCM_SliceLocation(Image *image,DicomStream *dcm,ExceptionInfo *exception) @@ -3262,7 +3262,7 @@ static MagickPassFail funcDCM_PaletteDes static MagickPassFail funcDCM_LUT(Image *image,DicomStream *dcm,ExceptionInfo *exception) { -#if defined(USE_GRAYMAP) +#if defined(USE_GRAYMAP) /* 1200 = grey, LUT data 3006 = LUT data */ @@ -3367,7 +3367,7 @@ static magick_uint8_t DCM_RLE_ReadByte(I rep_ct, rep_char; - /* We need to read the next command pair */ + /* We need to read the next command pair */ if (dcm->frag_bytes <= 2) dcm->frag_bytes = 0; else @@ -3545,7 +3545,7 @@ static MagickPassFail DCM_ReadElement(Im dcm->datum=0; if (dcm->quantum == 4) { - dcm->datum=(long) dcm->funcReadLong(image); + dcm->datum=dcm->funcReadLong(image); if (EOFBlob(image)) { ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); @@ -3634,7 +3634,7 @@ static MagickPassFail DCM_ReadElement(Im } else if ((dcm->length == 1) && (dcm->quantum == 4)) { - dcm->datum=(long) dcm->funcReadLong(image); + dcm->datum=dcm->funcReadLong(image); if (EOFBlob(image)) { ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); @@ -3646,7 +3646,7 @@ static MagickPassFail DCM_ReadElement(Im size_t size; - if (dcm->length > GetBlobSize(image)) + if (dcm->length > ((size_t) GetBlobSize(image))) { ThrowException(exception,CorruptImageError,InsufficientImageDataInFile,image->filename); return MagickFail; @@ -3662,7 +3662,7 @@ static MagickPassFail DCM_ReadElement(Im ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); return MagickFail; } - size=dcm->quantum*dcm->length; + size=MagickArraySize(dcm->quantum,dcm->length); if (ReadBlob(image,size,(char *) dcm->data) != size) { ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,image->filename); @@ -3813,7 +3813,7 @@ static MagickPassFail DCM_SetupRescaleMa dcm->rescale_map[i]=dcm->max_value_out; else dcm->rescale_map[i]=(Quantum)(((Xr-Xw_min)/(win_width-1))*dcm->max_value_out+0.5); - } + } if (dcm->phot_interp == DCM_PI_MONOCHROME1) for (i=0; i < (dcm->max_value_in+1); i++) dcm->rescale_map[i]=dcm->max_value_out-dcm->rescale_map[i]; @@ -4391,7 +4391,7 @@ static MagickPassFail DCM_ReadOffsetTabl return MagickFail; } - dcm->offset_arr=MagickAllocateArray(magick_uint32_t *,dcm->offset_ct,sizeof(magick_uint32_t)); + dcm->offset_arr=MagickAllocateArray(magick_uint32_t *,dcm->offset_ct,sizeof(magick_uint32_t)); if (dcm->offset_arr == (magick_uint32_t *) NULL) { ThrowException(exception,ResourceLimitError,MemoryAllocationFailed,image->filename); @@ -4449,6 +4449,14 @@ static MagickPassFail DCM_ReadNonNativeI if (DCM_ReadOffsetTable(*image,dcm,exception) == MagickFail) return MagickFail; + if (dcm->number_scenes == 0U) + { + ThrowException(exception,CorruptImageError, + ImproperImageHeader, + image_info->filename); + return MagickFail; + } + status=MagickPass; for (scene=0; scene < dcm->number_scenes; scene++) { @@ -4681,7 +4689,7 @@ static Image *ReadDCMImage(const ImageIn Now process the image data */ if (status == MagickFail) - ; + ; else if ((dcm.columns == 0) || (dcm.rows == 0)) { @@ -4846,7 +4854,7 @@ static Image *ReadDCMImage(const ImageIn */ if (dcm.offset_arr != NULL) - MagickFreeMemory(dcm.offset_arr); + MagickFreeMemory(dcm.offset_arr); if (dcm.data != NULL) MagickFreeMemory(dcm.data); #if defined(USE_GRAYMAP)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor