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,

Reply via email to