<div dir="ltr"><div><div>What works:<br><br><div style="margin-left:40px">  convert 003632r270.jpg -rotate 270 junk.jpg<br></div><br></div>This works too with libjpeg-6b:<br></div><div><br><div style="margin-left:40px">  convert -define jpeg:optimize-coding=true 003632r270.jpg -rotate 270 junk.jpg<br></div><br></div>The same command fails if we use libturbojpeg 1.3.1:<br><div><br><div style="margin-left:40px">gdb convert<br>run -define jpeg:optimize-coding=true 003632r270.jpg -rotate 270 junk.jpg<br>*** stack smashing detected ***: /usr/local/bin/convert terminated<br>...<br>where<br>#0  0x0000003bb1035877 in raise () from /lib64/libc.so.6<br>#1  0x0000003bb1036f68 in abort () from /lib64/libc.so.6<br>#2  0x0000003bb1075a54 in __libc_message () from /lib64/libc.so.6<br>#3  0x0000003bb1106947 in __fortify_fail () from /lib64/libc.so.6<br>#4  0x0000003bb1106910 in __stack_chk_fail () from /lib64/libc.so.6<br>#5  0x00000000007c6b2b in encode_mcu_huff (cinfo=0x7fffffff83b0,<br>    MCU_data=0xc54110) at jchuff.c:641<br>#6  0x00000000007b9399 in compress_output (cinfo=0x7fffffff83b0,<br>    input_buf=<optimized out>) at jccoefct.c:381<br>#7  0x0000000000795426 in jpeg_finish_compress (<br>    cinfo=cinfo@entry=0x7fffffff83b0) at jcapimin.c:183<br>#8  0x00000000005741df in WriteJPEGImage (image_info=0xc4fb40, image=0xc41b10)<br>    at coders/jpeg.c:2794<br>#9  0x00000000005de602 in WriteImage (image_info=image_info@entry=0xc06950,<br>    image=image@entry=0xc41b10) at magick/constitute.c:1114<br>...<br><br></div>To reproduce:<br><br><div style="margin-left:40px">wget <a href="http://www.imagemagick.org/download/ImageMagick-6.8.9-10.tar.gz">http://www.imagemagick.org/download/ImageMagick-6.8.9-10.tar.gz</a><br>tar xvf ImageMagick-6.8.9-10.tar.gz<br>cd ImageMagick-6.8.9-10<br></div></div><div style="margin-left:40px"><download / unpack libjpeg-turbo><br>mv libjpeg-turbo-1.3.1 jpeg<br></div><div style="margin-left:40px">cd jpeg<br></div><div style="margin-left:40px">export CFLAGS="-O3 -fPIC -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector"<br></div><div style="margin-left:40px">./configure --disable-shared<br>make<br>cd ..<br>./configure --enable-delegate-build --disable-shared<br></div><div><div style="margin-left:40px">make -j3<br>make install<br>gdb convert<br>run -define jpeg:optimize-coding=true 003632r270.jpg -rotate 270 junk.jpg<br>*** stack smashing detected ***: /usr/local/bin/convert terminated<br><br></div>Did ImageMagick corrupt the stack?  Possible, we're investigating, however, its curious that the same command works for libjpeg-6b.  We did use valgrind and valgrind did not reveal any memory corruption in ImageMagick.<br><br></div><div>Cristy<br></div><div>ImageMagick Principle Architect<br></div><div><br></div><div><br></div></div>