Main GraphicsMagick source repository
Révision | 22a5ecbdfe6b28e83c95ca9d794f95210170c6bb (tree) |
---|---|
l'heure | 2021-03-29 23:06:47 |
Auteur | Bob Friesenhahn <bfriesen@Grap...> |
Commiter | Bob Friesenhahn |
WriteMSLImage(): Add OpenBlob()/CloseBlob() which seems necessary to avoid memory leak in ImageToBlob().
@@ -1,3 +1,10 @@ | ||
1 | +2021-03-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> | |
2 | + | |
3 | + * coders/msl.c (WriteMSLImage): Add OpenBlob()/CloseBlob() which | |
4 | + seems necessary to avoid memory leak in ImageToBlob(). Hopefully | |
5 | + will fix oss-fuzz 32575 "graphicsmagick:coder_MSL_fuzzer: | |
6 | + Direct-leak in MagickMalloc". | |
7 | + | |
1 | 8 | 2021-03-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> |
2 | 9 | |
3 | 10 | * coders/jp2.c (RegisterJP2Image): Report JasPer library version. |
@@ -10,5 +10,5 @@ | ||
10 | 10 | |
11 | 11 | #define public MagickPackageName "GraphicsMagick" |
12 | 12 | #define public MagickPackageVersion "1.4" |
13 | -#define public MagickPackageVersionAddendum ".020210326" | |
14 | -#define public MagickPackageReleaseDate "snapshot-20210326" | |
13 | +#define public MagickPackageVersionAddendum ".020210329" | |
14 | +#define public MagickPackageReleaseDate "snapshot-20210329" |
@@ -5149,11 +5149,15 @@ | ||
5149 | 5149 | assert(image_info->signature == MagickSignature); |
5150 | 5150 | assert(image != (Image *) NULL); |
5151 | 5151 | assert(image->signature == MagickSignature); |
5152 | + status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); | |
5153 | + if (status == False) | |
5154 | + ThrowWriterException(FileOpenError,UnableToOpenFile,image); | |
5152 | 5155 | /* (void) ReferenceImage(image); what for? */ |
5153 | 5156 | status=ProcessMSLScript(image_info,&image,&image->exception); |
5154 | 5157 | if (status == MagickFail) |
5155 | 5158 | (void) LogMagickEvent(CoderEvent,GetMagickModule(), |
5156 | 5159 | "ProcessMSLScript() returned MagickFail!"); |
5160 | + CloseBlob(image); | |
5157 | 5161 | return status; |
5158 | 5162 | } |
5159 | 5163 | #endif /* defined(HasXML) */ |
@@ -2238,6 +2238,7 @@ | ||
2238 | 2238 | { |
2239 | 2239 | /* |
2240 | 2240 | Native blob support for this image format. |
2241 | + FIXME: This results in a memory leak if the blob is not opened. | |
2241 | 2242 | */ |
2242 | 2243 | clone_info->blob=MagickAllocateMemory(void *,65535L); |
2243 | 2244 | if (clone_info->blob == (void *) NULL) |
@@ -38,8 +38,8 @@ | ||
38 | 38 | #define MagickLibVersion 0x252200 |
39 | 39 | #define MagickLibVersionText "1.4" |
40 | 40 | #define MagickLibVersionNumber 25,22,0 |
41 | -#define MagickChangeDate "20210326" | |
42 | -#define MagickReleaseDate "snapshot-20210326" | |
41 | +#define MagickChangeDate "20210329" | |
42 | +#define MagickReleaseDate "snapshot-20210329" | |
43 | 43 | |
44 | 44 | /* |
45 | 45 | The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines |
@@ -35,6 +35,12 @@ | ||
35 | 35 | <div class="document"> |
36 | 36 | |
37 | 37 | |
38 | +<p>2021-03-29 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> | |
39 | +<blockquote> | |
40 | +* coders/msl.c (WriteMSLImage): Add OpenBlob()/CloseBlob() which | |
41 | +seems necessary to avoid memory leak in ImageToBlob(). Hopefully | |
42 | +will fix oss-fuzz 32575 "graphicsmagick:coder_MSL_fuzzer: | |
43 | +Direct-leak in MagickMalloc".</blockquote> | |
38 | 44 | <p>2021-03-26 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> |
39 | 45 | <blockquote> |
40 | 46 | <p>* coders/jp2.c (RegisterJP2Image): Report JasPer library version.</p> |
@@ -3,7 +3,7 @@ | ||
3 | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
4 | 4 | <head> |
5 | 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
6 | -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> | |
6 | +<meta name="generator" content="Docutils 0.16: http://docutils.sourceforge.net/" /> | |
7 | 7 | <title>blob</title> |
8 | 8 | <link rel="stylesheet" href="../docutils-api.css" type="text/css" /> |
9 | 9 | </head> |
@@ -37,7 +37,7 @@ | ||
37 | 37 | <h2 class="subtitle" id="read-or-write-formatted-images-in-memory-blobs">Read or write formatted images in memory (BLOBs)</h2> |
38 | 38 | |
39 | 39 | <div class="contents topic" id="contents"> |
40 | -<p class="topic-title first">Contents</p> | |
40 | +<p class="topic-title">Contents</p> | |
41 | 41 | <ul class="simple"> |
42 | 42 | <li><a class="reference internal" href="#attachblob" id="id45">AttachBlob</a></li> |
43 | 43 | <li><a class="reference internal" href="#blobisseekable" id="id46">BlobIsSeekable</a></li> |