tag 352575 + patch thanks On Mon, Feb 13, 2006 at 01:59:55PM +0100, Nicolas George wrote: > Le quintidi 25 pluviôse, an CCXIV, Daniel Kobras a écrit : > > Are you aware of any applications that pass an URI to a mime handler > > rather than just the local path and filename? Furthermore, the mailcap > > entries in testing and unstable now prefix the filename with a format > > string based on the mime type, which makes it impossible to trigger this > > bug via the mime handler route. > > I remembered in Gnome Control Center applications settings a checkbox "Can > open _URIs", but now that I look in the source, I see the code that takes > this checkbox into account is commented out. So I guess I can not give any > example, which is somehow a relief.
Understood, thanks! In any case, here's the patch that fixes this problem. Ryuichi, I intend to upload an NMU to address this grave bug as soon as possible. Full diff attached. Regards, Daniel.
diff -u imagemagick-6.2.4.5/debian/changelog imagemagick-6.2.4.5/debian/changelog --- imagemagick-6.2.4.5/debian/changelog +++ imagemagick-6.2.4.5/debian/changelog @@ -1,3 +1,11 @@ +imagemagick (6:6.2.4.5-0.7) unstable; urgency=high + + * Non-maintainer upload. + * coders/url.c: Do not treat local file:// URIs as temporary files that + are removed after reading. Closes: #352575 + + -- Daniel Kobras <[EMAIL PROTECTED]> Mon, 13 Feb 2006 14:49:49 +0100 + imagemagick (6:6.2.4.5-0.6) unstable; urgency=high * Non-maintainer upload. only in patch2: unchanged: --- imagemagick-6.2.4.5.orig/coders/url.c +++ imagemagick-6.2.4.5/coders/url.c @@ -157,8 +157,12 @@ LocaleLower(filename); (void) ConcatenateMagickString(filename,image_info->filename,MaxTextExtent); if (LocaleCompare(read_info->magick,"file") == 0) - (void) CopyMagickString(read_info->filename,image_info->filename+2, - MaxTextExtent); + { + (void) RelinquishUniqueFileResource(read_info->filename); + unique_file = -1; + (void) CopyMagickString(read_info->filename,image_info->filename+2, + MaxTextExtent); + } #if defined(HasXML) && defined(LIBXML_FTP_ENABLED) if (LocaleCompare(read_info->magick,"ftp") == 0) { @@ -205,7 +209,8 @@ (void) fclose(file); *read_info->magick='\0'; image=ReadImage(read_info,exception); - (void) RelinquishUniqueFileResource(read_info->filename); + if (unique_file != -1) + (void) RelinquishUniqueFileResource(read_info->filename); read_info=DestroyImageInfo(read_info); if (image == (Image *) NULL) (void) ThrowMagickException(exception,GetMagickModule(),CoderError,