GraphicsMagick: Reduce coder stability level of dcraw and jbig. ...

GraphicsMagick Commits <[email protected]> Tue, 05 Dec 2023 07:46:42 -0600
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.9488.1701784018.7794.graphicsmagick-commit@lists.sourceforge.net>
changeset 0f5837ab7526 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=0f5837ab7526
summary: Reduce coder stability level of dcraw and jbig. Oss-fuzz CI will only build support for primary coders.

diffstat:

 ChangeLog                              |  12 ++++++++++++
 VisualMagick/installer/inc/version.isx |   4 ++--
 coders/dcraw.c                         |   1 +
 coders/jbig.c                          |   6 +++---
 fuzzing/oss-fuzz-build.sh              |  14 ++++++++++++++
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |  12 ++++++++++++
 7 files changed, 46 insertions(+), 7 deletions(-)

diffs (131 lines):

diff -r 7c3b9dbdf47b -r 0f5837ab7526 ChangeLog
--- a/ChangeLog	Sun Dec 03 09:32:30 2023 -0600
+++ b/ChangeLog	Tue Dec 05 07:46:39 2023 -0600
@@ -1,3 +1,15 @@
+2023-12-05  Bob Friesenhahn  <[email protected]>
+
+	* fuzzing/oss-fuzz-build.sh: If doing oss-fuzz CI testing, then
+	only include primary-class coders to improve chances of success
+
+	* coders/jbig.c (RegisterJBIGImage): Reduce to 'unstable' coder
+	class given that 'JBIG-Kit' is not yet proven to survive fuzz
+	testing.
+
+	* coders/dcraw.c (RegisterDCRAWImage): Reduce to 'unstable' coder
+	class given that 'dcraw' is not fuzz tested at all.
+
 2023-12-03  Bob Friesenhahn  <[email protected]>
 
 	* fuzzing/coder_list.cc: Exclude format names depending on an
diff -r 7c3b9dbdf47b -r 0f5837ab7526 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sun Dec 03 09:32:30 2023 -0600
+++ b/VisualMagick/installer/inc/version.isx	Tue Dec 05 07:46:39 2023 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020231203"
-#define public MagickPackageReleaseDate "snapshot-20231203"
+#define public MagickPackageVersionAddendum ".020231205"
+#define public MagickPackageReleaseDate "snapshot-20231205"
diff -r 7c3b9dbdf47b -r 0f5837ab7526 coders/dcraw.c
--- a/coders/dcraw.c	Sun Dec 03 09:32:30 2023 -0600
+++ b/coders/dcraw.c	Tue Dec 05 07:46:39 2023 -0600
@@ -159,6 +159,7 @@
       entry->description=dcraw_formats[i].description;
       entry->extension_treatment=ObeyExtensionTreatment;
       entry->module="DCRAW";
+      entry->coder_class=UnstableCoderClass;
       (void) RegisterMagickInfo(entry);
     }
 }
diff -r 7c3b9dbdf47b -r 0f5837ab7526 coders/jbig.c
--- a/coders/jbig.c	Sun Dec 03 09:32:30 2023 -0600
+++ b/coders/jbig.c	Tue Dec 05 07:46:39 2023 -0600
@@ -283,7 +283,7 @@
   entry->description=description;
     entry->version=version;
   entry->module="JBIG";
-  entry->coder_class=PrimaryCoderClass;
+  entry->coder_class=StableCoderClass;
   (void) RegisterMagickInfo(entry);
 
   entry=SetMagickInfo("JBG");
@@ -294,7 +294,7 @@
   entry->description=description;
   entry->version=version;
   entry->module="JBIG";
-  entry->coder_class=PrimaryCoderClass;
+  entry->coder_class=StableCoderClass;
   (void) RegisterMagickInfo(entry);
 
   entry=SetMagickInfo("JBIG");
@@ -305,7 +305,7 @@
   entry->description=description;
   entry->version=version;
   entry->module="JBIG";
-  entry->coder_class=PrimaryCoderClass;
+  entry->coder_class=UnstableCoderClass;
   (void) RegisterMagickInfo(entry);
 }
 
diff -r 7c3b9dbdf47b -r 0f5837ab7526 fuzzing/oss-fuzz-build.sh
--- a/fuzzing/oss-fuzz-build.sh	Sun Dec 03 09:32:30 2023 -0600
+++ b/fuzzing/oss-fuzz-build.sh	Tue Dec 05 07:46:39 2023 -0600
@@ -25,6 +25,20 @@
 export PKG_CONFIG='pkg-config --static'
 export VERBOSE=TRUE
 
+# Dont check Coverage in CI as it gets killed
+if [[ -n "${OSS_FUZZ_CI-}" && "$SANITIZER" = coverage ]]; then
+  touch $OUT/exit
+  exit 0
+fi
+
+# If doing oss-fuzz CI testing, then only include primary-class
+# coders to improve chances of success
+if [ -n "${OSS_FUZZ_CI-}" ]; then
+    export MAGICK_CODER_STABILITY=PRIMARY
+else
+    export MAGICK_CODER_STABILITY=UNSTABLE
+fi
+
 printf "SRC=${SRC}\n"
 printf "WORK=${WORK}\n"
 ls -l "${WORK}"
diff -r 7c3b9dbdf47b -r 0f5837ab7526 magick/version.h
--- a/magick/version.h	Sun Dec 03 09:32:30 2023 -0600
+++ b/magick/version.h	Tue Dec 05 07:46:39 2023 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x272404
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 27,24,4
-#define MagickChangeDate   "20231203"
-#define MagickReleaseDate  "snapshot-20231203"
+#define MagickChangeDate   "20231205"
+#define MagickReleaseDate  "snapshot-20231205"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 7c3b9dbdf47b -r 0f5837ab7526 www/Changelog.html
--- a/www/Changelog.html	Sun Dec 03 09:32:30 2023 -0600
+++ b/www/Changelog.html	Tue Dec 05 07:46:39 2023 -0600
@@ -37,6 +37,18 @@
 </div>
 
 <div class="document">
+<p>2023-12-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li><p>fuzzing/oss-fuzz-build.sh: If doing oss-fuzz CI testing, then
+only include primary-class coders to improve chances of success</p></li>
+<li><p>coders/jbig.c (RegisterJBIGImage): Reduce to 'unstable' coder
+class given that 'JBIG-Kit' is not yet proven to survive fuzz
+testing.</p></li>
+<li><p>coders/dcraw.c (RegisterDCRAWImage): Reduce to 'unstable' coder
+class given that 'dcraw' is not fuzz tested at all.</p></li>
+</ul>
+</blockquote>
 <p>2023-12-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul class="simple">