Skip to content

Commit 4a334bb

Browse files
author
Cristy
committed
https://github.com/ImageMagick/ImageMagick/issues/1623
1 parent 6a584be commit 4a334bb

File tree

2 files changed

+61
-15
lines changed

2 files changed

+61
-15
lines changed

Diff for: MagickWand/mogrify.c

+21-1
Original file line numberDiff line numberDiff line change
@@ -7824,6 +7824,9 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
78247824
clut_image=RemoveFirstImageFromList(images);
78257825
if (clut_image == (Image *) NULL)
78267826
{
7827+
(void) ThrowMagickException(exception,GetMagickModule(),
7828+
OptionError,"ImageSequenceRequired","`%s'",option);
7829+
image=DestroyImage(image);
78277830
status=MagickFalse;
78287831
break;
78297832
}
@@ -7896,6 +7899,9 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
78967899
reconstruct_image=RemoveFirstImageFromList(images);
78977900
if (reconstruct_image == (Image *) NULL)
78987901
{
7902+
(void) ThrowMagickException(exception,GetMagickModule(),
7903+
OptionError,"ImageSequenceRequired","`%s'",option);
7904+
image=DestroyImage(image);
78997905
status=MagickFalse;
79007906
break;
79017907
}
@@ -7976,7 +7982,13 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
79767982
new_images=RemoveFirstImageFromList(images);
79777983
source_image=RemoveFirstImageFromList(images);
79787984
if (source_image == (Image *) NULL)
7979-
break; /* FUTURE - produce Exception, rather than silent fail */
7985+
{
7986+
(void) ThrowMagickException(exception,GetMagickModule(),
7987+
OptionError,"ImageSequenceRequired","`%s'",option);
7988+
new_images=DestroyImage(new_images);
7989+
status=MagickFalse;
7990+
break;
7991+
}
79807992

79817993
/* FUTURE: this should not be here! - should be part of -geometry */
79827994
if (source_image->geometry != (char *) NULL)
@@ -8228,6 +8240,9 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
82288240
hald_image=RemoveFirstImageFromList(images);
82298241
if (hald_image == (Image *) NULL)
82308242
{
8243+
(void) ThrowMagickException(exception,GetMagickModule(),
8244+
OptionError,"ImageSequenceRequired","`%s'",option);
8245+
image=DestroyImage(image);
82318246
status=MagickFalse;
82328247
break;
82338248
}
@@ -8257,11 +8272,16 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
82578272
phase_image=RemoveFirstImageFromList(images);
82588273
if (phase_image == (Image *) NULL)
82598274
{
8275+
(void) ThrowMagickException(exception,GetMagickModule(),
8276+
OptionError,"ImageSequenceRequired","`%s'",option);
8277+
magnitude_image=DestroyImage(magnitude_image);
82608278
status=MagickFalse;
82618279
break;
82628280
}
82638281
fourier_image=InverseFourierTransformImage(magnitude_image,
82648282
phase_image,*option == '-' ? MagickTrue : MagickFalse,exception);
8283+
magnitude_image=DestroyImage(magnitude_image);
8284+
phase_image=DestroyImage(phase_image);
82658285
if (fourier_image == (Image *) NULL)
82668286
break;
82678287
if (*images != (Image *) NULL)

Diff for: MagickWand/operation.c

+40-14
Original file line numberDiff line numberDiff line change
@@ -3821,10 +3821,16 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand,
38213821
_images.
38223822
*/
38233823
new_images=RemoveFirstImageFromList(&_images);
3824-
clut_image=RemoveLastImageFromList(&_images);
3824+
clut_image=RemoveFirstImageFromList(&_images);
38253825
/* FUTURE - produce Exception, rather than silent fail */
38263826
if (clut_image == (Image *) NULL)
3827-
break;
3827+
{
3828+
(void) ThrowMagickException(_exception,GetMagickModule(),
3829+
OptionError,"ImageSequenceRequired","`%s'",option);
3830+
new_images=DestroyImage(new_images);
3831+
status=MagickFalse;
3832+
break;
3833+
}
38283834
(void) ClutImage(new_images,clut_image,new_images->interpolate,
38293835
_exception);
38303836
clut_image=DestroyImage(clut_image);
@@ -3868,8 +3874,11 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand,
38683874
reconstruct_image=RemoveFirstImageFromList(&_images);
38693875
/* FUTURE - produce Exception, rather than silent fail */
38703876
if (reconstruct_image == (Image *) NULL)
3871-
{
3877+
{
3878+
(void) ThrowMagickException(_exception,GetMagickModule(),
3879+
OptionError,"ImageSequenceRequired","`%s'",option);
38723880
image=DestroyImage(image);
3881+
status=MagickFalse;
38733882
break;
38743883
}
38753884
metric=UndefinedErrorMetric;
@@ -3931,7 +3940,13 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand,
39313940
new_images=RemoveFirstImageFromList(&_images);
39323941
source_image=RemoveFirstImageFromList(&_images);
39333942
if (source_image == (Image *) NULL)
3934-
break; /* FUTURE - produce Exception, rather than silent fail */
3943+
{
3944+
(void) ThrowMagickException(_exception,GetMagickModule(),
3945+
OptionError,"ImageSequenceRequired","`%s'",option);
3946+
new_images=DestroyImage(new_images);
3947+
status=MagickFalse;
3948+
break;
3949+
}
39353950

39363951
/* FUTURE - this should not be here! - should be part of -geometry */
39373952
if (source_image->geometry != (char *) NULL)
@@ -4121,7 +4136,13 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand,
41214136
new_images=RemoveFirstImageFromList(&_images);
41224137
hald_image=RemoveLastImageFromList(&_images);
41234138
if (hald_image == (Image *) NULL)
4124-
break;
4139+
{
4140+
(void) ThrowMagickException(_exception,GetMagickModule(),
4141+
OptionError,"ImageSequenceRequired","`%s'",option);
4142+
new_images=DestroyImage(new_images);
4143+
status=MagickFalse;
4144+
break;
4145+
}
41254146
(void) HaldClutImage(new_images,hald_image,_exception);
41264147
hald_image=DestroyImage(hald_image);
41274148
break;
@@ -4136,15 +4157,20 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand,
41364157
*magnitude_image,
41374158
*phase_image;
41384159

4139-
magnitude_image=RemoveFirstImageFromList(&_images);
4140-
phase_image=RemoveFirstImageFromList(&_images);
4141-
/* FUTURE - produce Exception, rather than silent fail */
4142-
if (phase_image == (Image *) NULL)
4143-
break;
4144-
new_images=InverseFourierTransformImage(magnitude_image,phase_image,
4145-
IsNormalOp,_exception);
4146-
magnitude_image=DestroyImage(magnitude_image);
4147-
phase_image=DestroyImage(phase_image);
4160+
magnitude_image=RemoveFirstImageFromList(&_images);
4161+
phase_image=RemoveFirstImageFromList(&_images);
4162+
if (phase_image == (Image *) NULL)
4163+
{
4164+
(void) ThrowMagickException(_exception,GetMagickModule(),
4165+
OptionError,"ImageSequenceRequired","`%s'",option);
4166+
magnitude_image=DestroyImage(magnitude_image);
4167+
status=MagickFalse;
4168+
break;
4169+
}
4170+
new_images=InverseFourierTransformImage(magnitude_image,phase_image,
4171+
IsNormalOp,_exception);
4172+
magnitude_image=DestroyImage(magnitude_image);
4173+
phase_image=DestroyImage(phase_image);
41484174
break;
41494175
}
41504176
if (LocaleCompare("insert",option+1) == 0)

0 commit comments

Comments
 (0)