Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:Rings:1-MinimalX
ImageMagick
ImageMagick-CVE-2019-13391,13308,13302.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ImageMagick-CVE-2019-13391,13308,13302.patch of Package ImageMagick
Index: ImageMagick-7.0.7-34/MagickCore/fourier.c =================================================================== --- ImageMagick-7.0.7-34.orig/MagickCore/fourier.c 2018-05-20 17:55:43.000000000 +0200 +++ ImageMagick-7.0.7-34/MagickCore/fourier.c 2019-07-19 14:26:01.337331241 +0200 @@ -164,6 +164,9 @@ MagickExport Image *ComplexImages(const MagickOffsetType progress; + size_t + number_channels; + ssize_t y; @@ -216,6 +219,10 @@ MagickExport Image *ComplexImages(const } Cr_image=complex_images; Ci_image=complex_images->next; + number_channels=MagickMin(MagickMin(MagickMin( + Ar_image->number_channels,Ai_image->number_channels),MagickMin( + Br_image->number_channels,Bi_image->number_channels)),MagickMin( + Cr_image->number_channels,Ci_image->number_channels)); Ar_view=AcquireVirtualCacheView(Ar_image,exception); Ai_view=AcquireVirtualCacheView(Ai_image,exception); Br_view=AcquireVirtualCacheView(Br_image,exception); @@ -226,9 +233,9 @@ MagickExport Image *ComplexImages(const progress=0; #if defined(MAGICKCORE_OPENMP_SUPPORT) #pragma omp parallel for schedule(static) shared(progress,status) \ - magick_number_threads(images,complex_images,images->rows,1L) + magick_number_threads(Cr_image,complex_images,Cr_image->rows,1L) #endif - for (y=0; y < (ssize_t) images->rows; y++) + for (y=0; y < (ssize_t) Cr_image->rows; y++) { register const Quantum *magick_restrict Ai, @@ -245,10 +252,10 @@ MagickExport Image *ComplexImages(const if (status == MagickFalse) continue; - Ar=GetCacheViewVirtualPixels(Ar_view,0,y,Ar_image->columns,1,exception); - Ai=GetCacheViewVirtualPixels(Ai_view,0,y,Ai_image->columns,1,exception); - Br=GetCacheViewVirtualPixels(Br_view,0,y,Br_image->columns,1,exception); - Bi=GetCacheViewVirtualPixels(Bi_view,0,y,Bi_image->columns,1,exception); + Ar=GetCacheViewVirtualPixels(Ar_view,0,y,Cr_image->columns,1,exception); + Ai=GetCacheViewVirtualPixels(Ai_view,0,y,Cr_image->columns,1,exception); + Br=GetCacheViewVirtualPixels(Br_view,0,y,Cr_image->columns,1,exception); + Bi=GetCacheViewVirtualPixels(Bi_view,0,y,Cr_image->columns,1,exception); Cr=QueueCacheViewAuthenticPixels(Cr_view,0,y,Cr_image->columns,1,exception); Ci=QueueCacheViewAuthenticPixels(Ci_view,0,y,Ci_image->columns,1,exception); if ((Ar == (const Quantum *) NULL) || (Ai == (const Quantum *) NULL) || @@ -258,12 +265,12 @@ MagickExport Image *ComplexImages(const status=MagickFalse; continue; } - for (x=0; x < (ssize_t) images->columns; x++) + for (x=0; x < (ssize_t) Cr_image->columns; x++) { register ssize_t i; - for (i=0; i < (ssize_t) GetPixelChannels(images); i++) + for (i=0; i < (ssize_t) number_channels; i++) { switch (op) { @@ -285,21 +292,21 @@ MagickExport Image *ComplexImages(const double gamma; - gamma=PerceptibleReciprocal(Br[i]*Br[i]+Bi[i]*Bi[i]+snr); - Cr[i]=gamma*(Ar[i]*Br[i]+Ai[i]*Bi[i]); - Ci[i]=gamma*(Ai[i]*Br[i]-Ar[i]*Bi[i]); + gamma=PerceptibleReciprocal((double) Br[i]*Br[i]+Bi[i]*Bi[i]+snr); + Cr[i]=gamma*((double) Ar[i]*Br[i]+(double) Ai[i]*Bi[i]); + Ci[i]=gamma*((double) Ai[i]*Br[i]-(double) Ar[i]*Bi[i]); break; } case MagnitudePhaseComplexOperator: { - Cr[i]=sqrt(Ar[i]*Ar[i]+Ai[i]*Ai[i]); - Ci[i]=atan2(Ai[i],Ar[i])/(2.0*MagickPI)+0.5; + Cr[i]=sqrt((double) Ar[i]*Ar[i]+(double) Ai[i]*Ai[i]); + Ci[i]=atan2((double) Ai[i],(double) Ar[i])/(2.0*MagickPI)+0.5; break; } case MultiplyComplexOperator: { - Cr[i]=QuantumScale*(Ar[i]*Br[i]-Ai[i]*Bi[i]); - Ci[i]=QuantumScale*(Ai[i]*Br[i]+Ar[i]*Bi[i]); + Cr[i]=QuantumScale*((double) Ar[i]*Br[i]-(double) Ai[i]*Bi[i]); + Ci[i]=QuantumScale*((double) Ai[i]*Br[i]+(double) Ar[i]*Bi[i]); break; } case RealImaginaryComplexOperator: Index: ImageMagick-7.0.7-34/coders/gif.c =================================================================== --- ImageMagick-7.0.7-34.orig/coders/gif.c 2018-05-20 17:55:43.000000000 +0200 +++ ImageMagick-7.0.7-34/coders/gif.c 2019-07-19 14:26:01.333331220 +0200 @@ -673,13 +673,15 @@ static MagickBooleanType EncodeImage(con /* Probe hash table. */ + next_pixel=MagickFalse; + displacement=1; index=(Quantum) ((size_t) GetPixelIndex(image,p) & 0xff); p+=GetPixelChannels(image); k=(ssize_t) (((size_t) index << (MaxGIFBits-8))+waiting_code); if (k >= MaxHashTable) k-=MaxHashTable; - next_pixel=MagickFalse; - displacement=1; + if (k < 0) + continue; if (hash_code[k] > 0) { if ((hash_prefix[k] == waiting_code) &&
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