Long overdue update to the latest release.  Security patches removed,
since all of them appear to be merged upstream, APIWARN diffs kept.
The atexit workaround introduced by jolan is not needed any more,
destructors in dlopened->dlclosed modules work fine afaik (dumb
testcase: https://pbot.rmdir.de/D1yWgkHZs5Hm4snEP80vkQ).

The port now explicitely requests gnu11 support.  I did not change the
feature set (no libjpeg, no opengl) to ease the update.  People can
enable stuff later if they need to.
Testing quirks:
- disabling jpeg means that the two first tests fail
- shells/bash should be installed at *configure* time in order for tests
  to be picked up; maybe we should add a "test" FLAVOR so that regular
  builds aren't affected?

All consumers except graphics/DevIL (fix included) built fine on amd64.
make test also passes on arm (minus the jpeg tests).  I'll try to put
this in a full bulk before commit.

Thoughts?  ok?


Index: graphics/DevIL/Makefile
===================================================================
RCS file: /cvs/ports/graphics/DevIL/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- graphics/DevIL/Makefile     26 Jul 2017 22:45:23 -0000      1.23
+++ graphics/DevIL/Makefile     12 Dec 2017 12:35:54 -0000
@@ -28,7 +28,7 @@ LIB_DEPENDS=          converters/libiconv \
                        devel/sdl \
                        graphics/freeglut \
                        graphics/ilmbase \
-                       graphics/jasper \
+                       graphics/jasper>=2.0.14 \
                        graphics/libmng \
                        graphics/lcms \
                        graphics/openexr \
Index: graphics/DevIL/patches/patch-src-IL_src_il_jp2_c
===================================================================
RCS file: graphics/DevIL/patches/patch-src-IL_src_il_jp2_c
diff -N graphics/DevIL/patches/patch-src-IL_src_il_jp2_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ graphics/DevIL/patches/patch-src-IL_src_il_jp2_c    12 Dec 2017 12:54:10 
-0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Cope with libjasper>=1.900.25
+
+Index: src-IL/src/il_jp2.c
+--- src-IL/src/il_jp2.c.orig
++++ src-IL/src/il_jp2.c
+@@ -459,7 +459,7 @@ static void jas_stream_initbuf(jas_stream_t *stream, i
+                       /* The buffer must be large enough to accommodate 
maximum
+                         putback. */
+                       assert(bufsize > JAS_STREAM_MAXPUTBACK);
+-                      stream->bufbase_ = JAS_CAST(uchar *, buf);
++                      stream->bufbase_ = JAS_CAST(jas_uchar *, buf);
+                       stream->bufsize_ = bufsize - JAS_STREAM_MAXPUTBACK;
+               }
+       } else {
Index: graphics/jasper/Makefile
===================================================================
RCS file: /cvs/ports/graphics/jasper/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- graphics/jasper/Makefile    6 Dec 2017 00:29:52 -0000       1.22
+++ graphics/jasper/Makefile    12 Dec 2017 18:44:51 -0000
@@ -2,23 +2,36 @@
 
 COMMENT =      reference implementation of JPEG-2000
 
-DISTNAME =     jasper-1.900.1
-REVISION =     6
-SHARED_LIBS =  jasper          2.1
+DISTNAME =     jasper-2.0.14
+FIX_EXTRACT_PERMISSIONS=Yes
+
+SHARED_LIBS =  jasper          3.0
 
 CATEGORIES =   graphics
-MASTER_SITES = https://www.ece.uvic.ca/~frodo/jasper/software/
-EXTRACT_SUFX = .zip
 
 HOMEPAGE =     https://www.ece.uvic.ca/~frodo/jasper/
 
 # MIT
 PERMIT_PACKAGE_CDROM = Yes
+
 WANTLIB =              c m
 
-CONFIGURE_STYLE =      gnu
-CONFIGURE_ARGS +=      --without-x \
-                       --disable-opengl
-MODGNU_CONFIG_GUESS_DIRS =${WRKSRC}/acaux
+MASTER_SITES = https://www.ece.uvic.ca/~frodo/jasper/software/
+
+# -stdc=gnu11
+COMPILER =     base-clang ports-gcc
+COMPILER_LANGS = c
+
+MODULES =      devel/cmake
+
+# XXX needed at configure time else tests are skipped
+TEST_DEPENDS = shells/bash
+
+CONFIGURE_ARGS = -DJAS_ENABLE_AUTOMATIC_DEPENDENCIES=false \
+               -DJAS_ENABLE_LIBJPEG=false \
+               -DJAS_ENABLE_OPENGL=false
+
+post-extract:
+       sed -i '1s@^#!.*bash@#!${LOCALBASE}/bin/bash@' ${WRKSRC}/test/bin/*
 
 .include <bsd.port.mk>
Index: graphics/jasper/distinfo
===================================================================
RCS file: /cvs/ports/graphics/jasper/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- graphics/jasper/distinfo    18 Jan 2015 03:14:10 -0000      1.5
+++ graphics/jasper/distinfo    6 Dec 2017 00:39:31 -0000
@@ -1,2 +1,2 @@
-SHA256 (jasper-1.900.1.zip) = a5BanCrKLidVRCEmZu78TrRNldClfkMFRXtAf+Y/lJQ=
-SIZE (jasper-1.900.1.zip) = 1415752
+SHA256 (jasper-2.0.14.tar.gz) = Kh9h5Vr+i0zoEV4VCMXXyzFNVt/MLdMj+QwHL4jM9Xs=
+SIZE (jasper-2.0.14.tar.gz) = 1677951
Index: graphics/jasper/patches/patch-CMakeLists_txt
===================================================================
RCS file: graphics/jasper/patches/patch-CMakeLists_txt
diff -N graphics/jasper/patches/patch-CMakeLists_txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ graphics/jasper/patches/patch-CMakeLists_txt        12 Dec 2017 18:08:35 
-0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Don't pick up optional deps at configure time.
+
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -199,8 +199,6 @@ endif()
+ # Perform plaform checks.
+ 
################################################################################
+ 
+-find_package(Doxygen)
+-find_package(LATEX COMPONENTS PDFLATEX)
+ find_program(BASH_PROGRAM bash)
+ 
+ # On some (or maybe all?) systems, LATEX_FOUND is not set by FindLATEX.
Index: graphics/jasper/patches/patch-src_appl_jasper_c
===================================================================
RCS file: /cvs/ports/graphics/jasper/patches/patch-src_appl_jasper_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_appl_jasper_c
--- graphics/jasper/patches/patch-src_appl_jasper_c     17 May 2008 09:32:16 
-0000      1.1
+++ graphics/jasper/patches/patch-src_appl_jasper_c     9 Dec 2017 12:20:44 
-0000
@@ -1,7 +1,8 @@
 $OpenBSD: patch-src_appl_jasper_c,v 1.1 2008/05/17 09:32:16 espie Exp $
---- src/appl/jasper.c.orig     Fri Jan 19 22:43:08 2007
-+++ src/appl/jasper.c  Fri May 16 22:47:48 2008
-@@ -456,9 +456,9 @@ int addopt(char *optstr, int maxlen, char *s)
+Index: src/appl/jasper.c
+--- src/appl/jasper.c.orig
++++ src/appl/jasper.c
+@@ -473,9 +473,9 @@ int addopt(char *optstr, int maxlen, char *s)
                return 1;
        }
        if (n > 0) {
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_cm_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_base_jas_cm_c
diff -N graphics/jasper/patches/patch-src_libjasper_base_jas_cm_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_cm_c   17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
-$OpenBSD: patch-src_libjasper_base_jas_cm_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/base/jas_cm.c.orig   Fri Jan 19 22:43:05 2007
-+++ src/libjasper/base/jas_cm.c        Fri May 16 21:37:56 2008
-@@ -704,8 +704,7 @@ static int jas_cmpxformseq_resize(jas_cmpxformseq_t *p
- {
-       jas_cmpxform_t **p;
-       assert(n >= pxformseq->numpxforms);
--      p = (!pxformseq->pxforms) ? jas_malloc(n * sizeof(jas_cmpxform_t *)) :
--        jas_realloc(pxformseq->pxforms, n * sizeof(jas_cmpxform_t *));
-+      p = jas_realloc2(pxformseq->pxforms, n, sizeof(jas_cmpxform_t *));
-       if (!p) {
-               return -1;
-       }
-@@ -889,13 +888,13 @@ static int jas_cmshapmatlut_set(jas_cmshapmatlut_t *lu
-       jas_cmshapmatlut_cleanup(lut);
-       if (curv->numents == 0) {
-               lut->size = 2;
--              if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
-+              if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
-                       goto error;
-               lut->data[0] = 0.0;
-               lut->data[1] = 1.0;
-       } else if (curv->numents == 1) {
-               lut->size = 256;
--              if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
-+              if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
-                       goto error;
-               gamma = curv->ents[0] / 256.0;
-               for (i = 0; i < lut->size; ++i) {
-@@ -903,7 +902,7 @@ static int jas_cmshapmatlut_set(jas_cmshapmatlut_t *lu
-               }
-       } else {
-               lut->size = curv->numents;
--              if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
-+              if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
-                       goto error;
-               for (i = 0; i < lut->size; ++i) {
-                       lut->data[i] = curv->ents[i] / 65535.0;
-@@ -953,7 +952,7 @@ static int jas_cmshapmatlut_invert(jas_cmshapmatlut_t 
-                       return -1;
-               }
-       }
--      if (!(invlut->data = jas_malloc(n * sizeof(jas_cmreal_t))))
-+      if (!(invlut->data = jas_alloc2(n, sizeof(jas_cmreal_t))))
-               return -1;
-       invlut->size = n;
-       for (i = 0; i < invlut->size; ++i) {
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_icc_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_base_jas_icc_c
diff -N graphics/jasper/patches/patch-src_libjasper_base_jas_icc_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_icc_c  9 Mar 2016 
15:16:05 -0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,165 +0,0 @@
-$OpenBSD: patch-src_libjasper_base_jas_icc_c,v 1.3 2016/03/09 15:16:05 jasper 
Exp $
-
-Security fix for CVE-2016-1577: Prevent double-free in jas_iccattrval_destroy()
-from https://launchpad.net/bugs/1547865
-
-Security fix for CVE-2016-2116: Prevent jas_stream_t memory leak in 
jas_iccprof_createfrombuf()
-
-Security fix for CVE-2014-8137: double-free
-from slackware
-
---- src/libjasper/base/jas_icc.c.orig  Fri Jan 19 22:43:05 2007
-+++ src/libjasper/base/jas_icc.c       Wed Mar  9 16:11:14 2016
-@@ -300,6 +300,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stream_t *in)
-                               if (jas_iccprof_setattr(prof, tagtabent->tag, 
attrval))
-                                       goto error;
-                               jas_iccattrval_destroy(attrval);
-+                              attrval = 0;
-                       } else {
- #if 0
-                               jas_eprintf("warning: skipping unknown tag 
type\n");
-@@ -373,7 +374,7 @@ int jas_iccprof_save(jas_iccprof_t *prof, jas_stream_t
-       jas_icctagtab_t *tagtab;
- 
-       tagtab = &prof->tagtab;
--      if (!(tagtab->ents = jas_malloc(prof->attrtab->numattrs *
-+      if (!(tagtab->ents = jas_alloc2(prof->attrtab->numattrs,
-         sizeof(jas_icctagtabent_t))))
-               goto error;
-       tagtab->numents = prof->attrtab->numattrs;
-@@ -522,7 +523,7 @@ static int jas_iccprof_gettagtab(jas_stream_t *in, jas
-       }
-       if (jas_iccgetuint32(in, &tagtab->numents))
-               goto error;
--      if (!(tagtab->ents = jas_malloc(tagtab->numents *
-+      if (!(tagtab->ents = jas_alloc2(tagtab->numents,
-         sizeof(jas_icctagtabent_t))))
-               goto error;
-       tagtabent = tagtab->ents;
-@@ -743,8 +744,7 @@ static int jas_iccattrtab_resize(jas_iccattrtab_t *tab
- {
-       jas_iccattr_t *newattrs;
-       assert(maxents >= tab->numattrs);
--      newattrs = tab->attrs ? jas_realloc(tab->attrs, maxents *
--        sizeof(jas_iccattr_t)) : jas_malloc(maxents * sizeof(jas_iccattr_t));
-+      newattrs = jas_realloc2(tab->attrs, maxents, sizeof(jas_iccattr_t));
-       if (!newattrs)
-               return -1;
-       tab->attrs = newattrs;
-@@ -999,7 +999,7 @@ static int jas_icccurv_input(jas_iccattrval_t *attrval
- 
-       if (jas_iccgetuint32(in, &curv->numents))
-               goto error;
--      if (!(curv->ents = jas_malloc(curv->numents * sizeof(jas_iccuint16_t))))
-+      if (!(curv->ents = jas_alloc2(curv->numents, sizeof(jas_iccuint16_t))))
-               goto error;
-       for (i = 0; i < curv->numents; ++i) {
-               if (jas_iccgetuint16(in, &curv->ents[i]))
-@@ -1011,7 +1011,6 @@ static int jas_icccurv_input(jas_iccattrval_t *attrval
-       return 0;
- 
- error:
--      jas_icccurv_destroy(attrval);
-       return -1;
- }
- 
-@@ -1100,7 +1099,7 @@ static int jas_icctxtdesc_input(jas_iccattrval_t *attr
-       if (jas_iccgetuint32(in, &txtdesc->uclangcode) ||
-         jas_iccgetuint32(in, &txtdesc->uclen))
-               goto error;
--      if (!(txtdesc->ucdata = jas_malloc(txtdesc->uclen * 2)))
-+      if (!(txtdesc->ucdata = jas_alloc2(txtdesc->uclen, 2)))
-               goto error;
-       if (jas_stream_read(in, txtdesc->ucdata, txtdesc->uclen * 2) !=
-         JAS_CAST(int, txtdesc->uclen * 2))
-@@ -1129,7 +1128,6 @@ static int jas_icctxtdesc_input(jas_iccattrval_t *attr
- #endif
-       return 0;
- error:
--      jas_icctxtdesc_destroy(attrval);
-       return -1;
- }
- 
-@@ -1208,8 +1206,6 @@ static int jas_icctxt_input(jas_iccattrval_t *attrval,
-               goto error;
-       return 0;
- error:
--      if (txt->string)
--              jas_free(txt->string);
-       return -1;
- }
- 
-@@ -1292,17 +1288,17 @@ static int jas_icclut8_input(jas_iccattrval_t *attrval
-         jas_iccgetuint16(in, &lut8->numouttabents))
-               goto error;
-       clutsize = jas_iccpowi(lut8->clutlen, lut8->numinchans) * 
lut8->numoutchans;
--      if (!(lut8->clut = jas_malloc(clutsize * sizeof(jas_iccuint8_t))) ||
--        !(lut8->intabsbuf = jas_malloc(lut8->numinchans *
--        lut8->numintabents * sizeof(jas_iccuint8_t))) ||
--        !(lut8->intabs = jas_malloc(lut8->numinchans *
-+      if (!(lut8->clut = jas_alloc2(clutsize, sizeof(jas_iccuint8_t))) ||
-+        !(lut8->intabsbuf = jas_alloc3(lut8->numinchans,
-+        lut8->numintabents, sizeof(jas_iccuint8_t))) ||
-+        !(lut8->intabs = jas_alloc2(lut8->numinchans,
-         sizeof(jas_iccuint8_t *))))
-               goto error;
-       for (i = 0; i < lut8->numinchans; ++i)
-               lut8->intabs[i] = &lut8->intabsbuf[i * lut8->numintabents];
--      if (!(lut8->outtabsbuf = jas_malloc(lut8->numoutchans *
--        lut8->numouttabents * sizeof(jas_iccuint8_t))) ||
--        !(lut8->outtabs = jas_malloc(lut8->numoutchans *
-+      if (!(lut8->outtabsbuf = jas_alloc3(lut8->numoutchans,
-+        lut8->numouttabents, sizeof(jas_iccuint8_t))) ||
-+        !(lut8->outtabs = jas_alloc2(lut8->numoutchans,
-         sizeof(jas_iccuint8_t *))))
-               goto error;
-       for (i = 0; i < lut8->numoutchans; ++i)
-@@ -1330,7 +1326,6 @@ static int jas_icclut8_input(jas_iccattrval_t *attrval
-               goto error;
-       return 0;
- error:
--      jas_icclut8_destroy(attrval);
-       return -1;
- }
- 
-@@ -1461,17 +1456,17 @@ static int jas_icclut16_input(jas_iccattrval_t *attrva
-         jas_iccgetuint16(in, &lut16->numouttabents))
-               goto error;
-       clutsize = jas_iccpowi(lut16->clutlen, lut16->numinchans) * 
lut16->numoutchans;
--      if (!(lut16->clut = jas_malloc(clutsize * sizeof(jas_iccuint16_t))) ||
-+      if (!(lut16->clut = jas_alloc2(clutsize, sizeof(jas_iccuint16_t))) ||
-         !(lut16->intabsbuf = jas_malloc(lut16->numinchans *
-         lut16->numintabents * sizeof(jas_iccuint16_t))) ||
--        !(lut16->intabs = jas_malloc(lut16->numinchans *
-+        !(lut16->intabs = jas_alloc2(lut16->numinchans,
-         sizeof(jas_iccuint16_t *))))
-               goto error;
-       for (i = 0; i < lut16->numinchans; ++i)
-               lut16->intabs[i] = &lut16->intabsbuf[i * lut16->numintabents];
--      if (!(lut16->outtabsbuf = jas_malloc(lut16->numoutchans *
--        lut16->numouttabents * sizeof(jas_iccuint16_t))) ||
--        !(lut16->outtabs = jas_malloc(lut16->numoutchans *
-+      if (!(lut16->outtabsbuf = jas_alloc3(lut16->numoutchans,
-+        lut16->numouttabents, sizeof(jas_iccuint16_t))) ||
-+        !(lut16->outtabs = jas_alloc2(lut16->numoutchans,
-         sizeof(jas_iccuint16_t *))))
-               goto error;
-       for (i = 0; i < lut16->numoutchans; ++i)
-@@ -1499,7 +1494,6 @@ static int jas_icclut16_input(jas_iccattrval_t *attrva
-               goto error;
-       return 0;
- error:
--      jas_icclut16_destroy(attrval);
-       return -1;
- }
- 
-@@ -1699,6 +1693,9 @@ jas_iccprof_t *jas_iccprof_createfrombuf(uchar *buf, i
-       jas_stream_close(in);
-       return prof;
- error:
-+      if (in)
-+              jas_stream_close(in);
-+
-       return 0;
- }
- 
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_image_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_base_jas_image_c
diff -N graphics/jasper/patches/patch-src_libjasper_base_jas_image_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_image_c        4 Feb 
2016 10:08:07 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-$OpenBSD: patch-src_libjasper_base_jas_image_c,v 1.2 2016/02/04 10:08:07 
jasper Exp $
-
-Security fix for CVE-2016-2089, patch (rows_ NULL check) from RH:
-https://bugzilla.redhat.com/show_bug.cgi?id=1302636
-
---- src/libjasper/base/jas_image.c.orig        Thu Feb  4 10:57:40 2016
-+++ src/libjasper/base/jas_image.c     Thu Feb  4 10:57:15 2016
-@@ -142,7 +142,7 @@ jas_image_t *jas_image_create(int numcmpts, jas_image_
-       image->inmem_ = true;
- 
-       /* Allocate memory for the per-component information. */
--      if (!(image->cmpts_ = jas_malloc(image->maxcmpts_ *
-+      if (!(image->cmpts_ = jas_alloc2(image->maxcmpts_,
-         sizeof(jas_image_cmpt_t *)))) {
-               jas_image_destroy(image);
-               return 0;
-@@ -426,6 +426,10 @@ int jas_image_readcmpt(jas_image_t *image, int cmptno,
-               return -1;
-       }
- 
-+      if (!data->rows_) {
-+              return -1;
-+      }
-+
-       if (jas_matrix_numrows(data) != height || jas_matrix_numcols(data) != 
width) {
-               if (jas_matrix_resize(data, height, width)) {
-                       return -1;
-@@ -479,6 +483,10 @@ int jas_image_writecmpt(jas_image_t *image, int cmptno
-               return -1;
-       }
- 
-+      if (!data->rows_) {
-+              return -1;
-+      }
-+
-       if (jas_matrix_numrows(data) != height || jas_matrix_numcols(data) != 
width) {
-               return -1;
-       }
-@@ -774,8 +782,7 @@ static int jas_image_growcmpts(jas_image_t *image, int
-       jas_image_cmpt_t **newcmpts;
-       int cmptno;
- 
--      newcmpts = (!image->cmpts_) ? jas_malloc(maxcmpts * 
sizeof(jas_image_cmpt_t *)) :
--        jas_realloc(image->cmpts_, maxcmpts * sizeof(jas_image_cmpt_t *));
-+      newcmpts = jas_realloc2(image->cmpts_, maxcmpts, 
sizeof(jas_image_cmpt_t *));
-       if (!newcmpts) {
-               return -1;
-       }
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_init_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_base_jas_init_c
diff -N graphics/jasper/patches/patch-src_libjasper_base_jas_init_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_init_c 16 Aug 2009 
19:58:31 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_libjasper_base_jas_init_c,v 1.1 2009/08/16 19:58:31 jolan 
Exp $
---- src/libjasper/base/jas_init.c.orig Fri Jan 19 15:43:05 2007
-+++ src/libjasper/base/jas_init.c      Sun Aug 16 07:41:36 2009
-@@ -150,8 +150,8 @@ int jas_init()
-       /* We must not register the JasPer library exit handler until after
-       at least one memory allocation is performed.  This is desirable
-       as it ensures that the JasPer exit handler is called before the
--      debug memory allocator exit handler. */
--      atexit(jas_cleanup);
-+      debug memory allocator exit handler.
-+      atexit(jas_cleanup);*/
- 
-       return 0;
- }
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_malloc_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_base_jas_malloc_c
diff -N graphics/jasper/patches/patch-src_libjasper_base_jas_malloc_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_malloc_c       16 Mar 
2015 19:49:33 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
-$OpenBSD: patch-src_libjasper_base_jas_malloc_c,v 1.2 2015/03/16 19:49:33 
sthen Exp $
---- src/libjasper/base/jas_malloc.c.orig       Fri Jan 19 21:43:05 2007
-+++ src/libjasper/base/jas_malloc.c    Mon Mar 16 19:46:41 2015
-@@ -72,10 +72,13 @@
- 
\******************************************************************************/
- 
- #include <stdio.h>
-+#include <stdint.h>
- #include <stdlib.h>
- 
- /* We need the prototype for memset. */
- #include <string.h>
-+#include <limits.h>
-+#include <errno.h>
- 
- #include "jasper/jas_malloc.h"
- 
-@@ -113,18 +116,50 @@ void jas_free(void *ptr)
- 
- void *jas_realloc(void *ptr, size_t size)
- {
--      return realloc(ptr, size);
-+      return ptr ? realloc(ptr, size) : malloc(size);
- }
- 
--void *jas_calloc(size_t nmemb, size_t size)
-+void *jas_realloc2(void *ptr, size_t nmemb, size_t size)
- {
--      void *ptr;
-+      if (!ptr)
-+              return jas_alloc2(nmemb, size);
-+      if (nmemb && SIZE_MAX / nmemb < size) {
-+              errno = ENOMEM;
-+              return NULL;
-+      }
-+      return jas_realloc(ptr, nmemb * size);
-+
-+}
-+
-+void *jas_alloc2(size_t nmemb, size_t size)
-+{
-+      if (nmemb && SIZE_MAX / nmemb < size) {
-+              errno = ENOMEM;
-+              return NULL;
-+      }
-+
-+      return jas_malloc(nmemb * size);
-+}
-+
-+void *jas_alloc3(size_t a, size_t b, size_t c)
-+{
-       size_t n;
--      n = nmemb * size;
--      if (!(ptr = jas_malloc(n * sizeof(char)))) {
--              return 0;
-+
-+      if (a && SIZE_MAX / a < b) {
-+              errno = ENOMEM;
-+              return NULL;
-       }
--      memset(ptr, 0, n);
-+
-+      return jas_alloc2(a*b, c);
-+}
-+
-+void *jas_calloc(size_t nmemb, size_t size)
-+{
-+      void *ptr;
-+
-+      ptr = jas_alloc2(nmemb, size);
-+      if (ptr)
-+              memset(ptr, 0, nmemb*size);
-       return ptr;
- }
- 
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_seq_c
===================================================================
RCS file: 
/cvs/ports/graphics/jasper/patches/patch-src_libjasper_base_jas_seq_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_libjasper_base_jas_seq_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_seq_c  4 Feb 2016 
10:08:07 -0000       1.2
+++ graphics/jasper/patches/patch-src_libjasper_base_jas_seq_c  9 Dec 2017 
12:31:25 -0000
@@ -1,93 +1,9 @@
 $OpenBSD: patch-src_libjasper_base_jas_seq_c,v 1.2 2016/02/04 10:08:07 jasper 
Exp $
 
-Security fix for CVE-2016-2089, patch (rows_ NULL check) from RH:
-https://bugzilla.redhat.com/show_bug.cgi?id=1302636
-
---- src/libjasper/base/jas_seq.c.orig  Thu Feb  4 10:57:40 2016
-+++ src/libjasper/base/jas_seq.c       Thu Feb  4 10:57:15 2016
-@@ -114,7 +114,7 @@ jas_matrix_t *jas_matrix_create(int numrows, int numco
-       matrix->datasize_ = numrows * numcols;
- 
-       if (matrix->maxrows_ > 0) {
--              if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ *
-+              if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_,
-                 sizeof(jas_seqent_t *)))) {
-                       jas_matrix_destroy(matrix);
-                       return 0;
-@@ -122,7 +122,7 @@ jas_matrix_t *jas_matrix_create(int numrows, int numco
-       }
- 
-       if (matrix->datasize_ > 0) {
--              if (!(matrix->data_ = jas_malloc(matrix->datasize_ *
-+              if (!(matrix->data_ = jas_alloc2(matrix->datasize_,
-                 sizeof(jas_seqent_t)))) {
-                       jas_matrix_destroy(matrix);
-                       return 0;
-@@ -220,7 +220,7 @@ void jas_matrix_bindsub(jas_matrix_t *mat0, jas_matrix
-       mat0->numrows_ = r1 - r0 + 1;
-       mat0->numcols_ = c1 - c0 + 1;
-       mat0->maxrows_ = mat0->numrows_;
--      mat0->rows_ = jas_malloc(mat0->maxrows_ * sizeof(jas_seqent_t *));
-+      mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
-       for (i = 0; i < mat0->numrows_; ++i) {
-               mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
-       }
-@@ -262,6 +262,10 @@ void jas_matrix_divpow2(jas_matrix_t *matrix, int n)
-       int rowstep;
-       jas_seqent_t *data;
- 
-+      if (!matrix->rows_) {
-+              return;
-+      }
-+
-       rowstep = jas_matrix_rowstep(matrix);
-       for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
-         rowstart += rowstep) {
-@@ -282,6 +286,10 @@ void jas_matrix_clip(jas_matrix_t *matrix, jas_seqent_
-       jas_seqent_t *data;
-       int rowstep;
- 
-+      if (!matrix->rows_) {
-+              return;
-+      }
-+
-       rowstep = jas_matrix_rowstep(matrix);
-       for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
-         rowstart += rowstep) {
-@@ -306,6 +314,10 @@ void jas_matrix_asr(jas_matrix_t *matrix, int n)
-       int rowstep;
-       jas_seqent_t *data;
- 
-+      if (!matrix->rows_) {
-+              return;
-+      }
-+
-       assert(n >= 0);
-       rowstep = jas_matrix_rowstep(matrix);
-       for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
-@@ -325,6 +337,10 @@ void jas_matrix_asl(jas_matrix_t *matrix, int n)
-       int rowstep;
-       jas_seqent_t *data;
- 
-+      if (!matrix->rows_) {
-+              return;
-+      }
-+
-       rowstep = jas_matrix_rowstep(matrix);
-       for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
-         rowstart += rowstep) {
-@@ -367,6 +383,10 @@ void jas_matrix_setall(jas_matrix_t *matrix, jas_seqen
-       int rowstep;
-       jas_seqent_t *data;
- 
-+      if (!matrix->rows_) {
-+              return;
-+      }
-+
-       rowstep = jas_matrix_rowstep(matrix);
-       for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
-         rowstart += rowstep) {
-@@ -432,7 +452,8 @@ int jas_seq2d_output(jas_matrix_t *matrix, FILE *out)
+Index: src/libjasper/base/jas_seq.c
+--- src/libjasper/base/jas_seq.c.orig
++++ src/libjasper/base/jas_seq.c
+@@ -492,7 +492,8 @@ int jas_seq2d_output(jas_matrix_t *matrix, FILE *out)
        for (i = 0; i < jas_matrix_numrows(matrix); ++i) {
                for (j = 0; j < jas_matrix_numcols(matrix); ++j) {
                        x = jas_matrix_get(matrix, i, j);
@@ -95,9 +11,9 @@ https://bugzilla.redhat.com/show_bug.cgi
 +                      snprintf(sbuf, sizeof sbuf, 
 +                          "%s%4ld", (strlen(buf) > 0) ? " " : "",
                          JAS_CAST(long, x));
-                       n = strlen(buf);
-                       if (n + strlen(sbuf) > MAXLINELEN) {
-@@ -440,7 +461,7 @@ int jas_seq2d_output(jas_matrix_t *matrix, FILE *out)
+                       n = JAS_CAST(int, strlen(buf));
+                       if (n + JAS_CAST(int, strlen(sbuf)) > MAXLINELEN) {
+@@ -500,7 +501,7 @@ int jas_seq2d_output(jas_matrix_t *matrix, FILE *out)
                                fputs("\n", out);
                                buf[0] = '\0';
                        }
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_stream_c
===================================================================
RCS file: 
/cvs/ports/graphics/jasper/patches/patch-src_libjasper_base_jas_stream_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_libjasper_base_jas_stream_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_stream_c       17 May 
2008 09:32:16 -0000      1.1
+++ graphics/jasper/patches/patch-src_libjasper_base_jas_stream_c       9 Dec 
2017 12:41:27 -0000
@@ -1,16 +1,8 @@
 $OpenBSD: patch-src_libjasper_base_jas_stream_c,v 1.1 2008/05/17 09:32:16 
espie Exp $
---- src/libjasper/base/jas_stream.c.orig       Fri Jan 19 22:43:05 2007
-+++ src/libjasper/base/jas_stream.c    Fri May 16 22:50:27 2008
-@@ -212,7 +212,7 @@ jas_stream_t *jas_stream_memopen(char *buf, int bufsiz
-       if (buf) {
-               obj->buf_ = (unsigned char *) buf;
-       } else {
--              obj->buf_ = jas_malloc(obj->bufsize_ * sizeof(char));
-+              obj->buf_ = jas_malloc(obj->bufsize_);
-               obj->myalloc_ = 1;
-       }
-       if (!obj->buf_) {
-@@ -361,28 +361,22 @@ jas_stream_t *jas_stream_tmpfile()
+Index: src/libjasper/base/jas_stream.c
+--- src/libjasper/base/jas_stream.c.orig
++++ src/libjasper/base/jas_stream.c
+@@ -513,28 +513,21 @@ jas_stream_t *jas_stream_tmpfile()
        }
        obj->fd = -1;
        obj->flags = 0;
@@ -21,7 +13,7 @@ $OpenBSD: patch-src_libjasper_base_jas_s
 -      tmpnam(obj->pathname);
 +      snprintf(obj->pathname, sizeof obj->pathname, "%stmp.XXXXXXXXXX", 
P_tmpdir);
  
-       /* Open the underlying file. */
+-      /* Open the underlying file. */
 -      if ((obj->fd = open(obj->pathname, O_CREAT | O_EXCL | O_RDWR | O_TRUNC 
| O_BINARY,
 -        JAS_STREAM_PERMS)) < 0) {
 +      if ((obj->fd = mkstemp(obj->pathname)) < 0) {
@@ -43,21 +35,3 @@ $OpenBSD: patch-src_libjasper_base_jas_s
        }
  
        /* Use full buffering. */
-@@ -553,7 +547,7 @@ int jas_stream_printf(jas_stream_t *stream, const char
-       int ret;
- 
-       va_start(ap, fmt);
--      ret = vsprintf(buf, fmt, ap);
-+      ret = vsnprintf(buf, sizeof buf, fmt, ap);
-       jas_stream_puts(stream, buf);
-       va_end(ap);
-       return ret;
-@@ -992,7 +986,7 @@ static int mem_resize(jas_stream_memobj_t *m, int bufs
-       unsigned char *buf;
- 
-       assert(m->buf_);
--      if (!(buf = jas_realloc(m->buf_, bufsize * sizeof(unsigned char)))) {
-+      if (!(buf = jas_realloc(m->buf_, bufsize))) {
-               return -1;
-       }
-       m->buf_ = buf;
Index: graphics/jasper/patches/patch-src_libjasper_base_jas_string_c
===================================================================
RCS file: 
/cvs/ports/graphics/jasper/patches/patch-src_libjasper_base_jas_string_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_libjasper_base_jas_string_c
--- graphics/jasper/patches/patch-src_libjasper_base_jas_string_c       17 May 
2008 09:32:16 -0000      1.1
+++ graphics/jasper/patches/patch-src_libjasper_base_jas_string_c       9 Dec 
2017 12:13:56 -0000
@@ -1,12 +1,10 @@
-$OpenBSD: patch-src_libjasper_base_jas_string_c,v 1.1 2008/05/17 09:32:16 
espie Exp $
---- src/libjasper/base/jas_string.c.orig       Fri May 16 20:22:22 2008
-+++ src/libjasper/base/jas_string.c    Fri May 16 20:23:02 2008
-@@ -88,9 +88,9 @@ char *jas_strdup(const char *s)
-       int n;
-       char *p;
-       n = strlen(s) + 1;
--      if (!(p = jas_malloc(n * sizeof(char)))) {
-+      if (!(p = jas_malloc(n))) {
+$OpenBSD$
+
+Index: src/libjasper/base/jas_string.c
+--- src/libjasper/base/jas_string.c.orig
++++ src/libjasper/base/jas_string.c
+@@ -91,6 +91,6 @@ char *jas_strdup(const char *s)
+       if (!(p = jas_malloc(n))) {
                return 0;
        }
 -      strcpy(p, s);
Index: graphics/jasper/patches/patch-src_libjasper_bmp_bmp_dec_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_bmp_bmp_dec_c
diff -N graphics/jasper/patches/patch-src_libjasper_bmp_bmp_dec_c
--- graphics/jasper/patches/patch-src_libjasper_bmp_bmp_dec_c   17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_bmp_bmp_dec_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/bmp/bmp_dec.c.orig   Fri May 16 21:00:25 2008
-+++ src/libjasper/bmp/bmp_dec.c        Fri May 16 21:27:14 2008
-@@ -283,7 +283,7 @@ static bmp_info_t *bmp_getinfo(jas_stream_t *in)
-       }
- 
-       if (info->numcolors > 0) {
--              if (!(info->palents = jas_malloc(info->numcolors *
-+              if (!(info->palents = jas_alloc2(info->numcolors,
-                 sizeof(bmp_palent_t)))) {
-                       bmp_info_destroy(info);
-                       return 0;
Index: graphics/jasper/patches/patch-src_libjasper_include_jasper_jas_malloc_h
===================================================================
RCS file: 
graphics/jasper/patches/patch-src_libjasper_include_jasper_jas_malloc_h
diff -N graphics/jasper/patches/patch-src_libjasper_include_jasper_jas_malloc_h
--- graphics/jasper/patches/patch-src_libjasper_include_jasper_jas_malloc_h     
17 May 2008 09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-$OpenBSD: patch-src_libjasper_include_jasper_jas_malloc_h,v 1.1 2008/05/17 
09:32:16 espie Exp $
---- src/libjasper/include/jasper/jas_malloc.h.orig     Fri May 16 20:57:11 2008
-+++ src/libjasper/include/jasper/jas_malloc.h  Fri May 16 21:31:48 2008
-@@ -95,6 +95,9 @@ extern "C" {
- #define       jas_free        MEMFREE
- #define       jas_realloc     MEMREALLOC
- #define       jas_calloc      MEMCALLOC
-+#define jas_alloc2(a, b)      MEMALLOC((a)*(b))
-+#define jas_alloc3(a, b, c)   MEMALLOC((a)*(b)*(c))
-+#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b))
- #endif
- 
- 
/******************************************************************************\
-@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size);
- /* Allocate a block of memory and initialize the contents to zero. */
- void *jas_calloc(size_t nmemb, size_t size);
- 
-+/* size-checked double allocation .*/
-+void *jas_alloc2(size_t, size_t);
-+
-+void *jas_alloc3(size_t, size_t, size_t);
-+
-+void *jas_realloc2(void *, size_t, size_t);
- #endif
- 
- #ifdef __cplusplus
Index: graphics/jasper/patches/patch-src_libjasper_jp2_jp2_cod_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jp2_jp2_cod_c
diff -N graphics/jasper/patches/patch-src_libjasper_jp2_jp2_cod_c
--- graphics/jasper/patches/patch-src_libjasper_jp2_jp2_cod_c   17 May 2008 
09:32:16 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-$OpenBSD: patch-src_libjasper_jp2_jp2_cod_c,v 1.2 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jp2/jp2_cod.c.orig   Fri Jan 19 22:43:05 2007
-+++ src/libjasper/jp2/jp2_cod.c        Fri May 16 21:28:52 2008
-@@ -372,7 +372,7 @@ static int jp2_bpcc_getdata(jp2_box_t *box, jas_stream
-       jp2_bpcc_t *bpcc = &box->data.bpcc;
-       unsigned int i;
-       bpcc->numcmpts = box->datalen;
--      if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts * sizeof(uint_fast8_t)))) {
-+      if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) {
-               return -1;
-       }
-       for (i = 0; i < bpcc->numcmpts; ++i) {
-@@ -416,7 +416,7 @@ static int jp2_colr_getdata(jp2_box_t *box, jas_stream
-               break;
-       case JP2_COLR_ICC:
-               colr->iccplen = box->datalen - 3;
--              if (!(colr->iccp = jas_malloc(colr->iccplen * 
sizeof(uint_fast8_t)))) {
-+              if (!(colr->iccp = jas_alloc2(colr->iccplen, 
sizeof(uint_fast8_t)))) {
-                       return -1;
-               }
-               if (jas_stream_read(in, colr->iccp, colr->iccplen) != 
colr->iccplen) {
-@@ -453,7 +453,7 @@ static int jp2_cdef_getdata(jp2_box_t *box, jas_stream
-       if (jp2_getuint16(in, &cdef->numchans)) {
-               return -1;
-       }
--      if (!(cdef->ents = jas_malloc(cdef->numchans * 
sizeof(jp2_cdefchan_t)))) {
-+      if (!(cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t)))) 
{
-               return -1;
-       }
-       for (channo = 0; channo < cdef->numchans; ++channo) {
-@@ -766,7 +766,7 @@ static int jp2_cmap_getdata(jp2_box_t *box, jas_stream
-       unsigned int i;
- 
-       cmap->numchans = (box->datalen) / 4;
--      if (!(cmap->ents = jas_malloc(cmap->numchans * sizeof(jp2_cmapent_t)))) 
{
-+      if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) {
-               return -1;
-       }
-       for (i = 0; i < cmap->numchans; ++i) {
-@@ -795,11 +795,15 @@ static void jp2_cmap_dumpdata(jp2_box_t *box, FILE *ou
-       jp2_cmap_t *cmap = &box->data.cmap;
-       unsigned int i;
-       jp2_cmapent_t *ent;
--      fprintf(out, "numchans = %d\n", (int) cmap->numchans);
-+      if (jas_getdbglevel() >= 1) {
-+              fprintf(out, "numchans = %d\n", (int) cmap->numchans);
-+      }
-       for (i = 0; i < cmap->numchans; ++i) {
-               ent = &cmap->ents[i];
--              fprintf(out, "cmptno=%d; map=%d; pcol=%d\n",
--                (int) ent->cmptno, (int) ent->map, (int) ent->pcol);
-+              if (jas_getdbglevel() >= 1) {
-+                      fprintf(out, "cmptno=%d; map=%d; pcol=%d\n",
-+                        (int) ent->cmptno, (int) ent->map, (int) ent->pcol);
-+              }
-       }
- }
- 
-@@ -828,10 +832,10 @@ static int jp2_pclr_getdata(jp2_box_t *box, jas_stream
-               return -1;
-       }
-       lutsize = pclr->numlutents * pclr->numchans;
--      if (!(pclr->lutdata = jas_malloc(lutsize * sizeof(int_fast32_t)))) {
-+      if (!(pclr->lutdata = jas_alloc2(lutsize, sizeof(int_fast32_t)))) {
-               return -1;
-       }
--      if (!(pclr->bpc = jas_malloc(pclr->numchans * sizeof(uint_fast8_t)))) {
-+      if (!(pclr->bpc = jas_alloc2(pclr->numchans, sizeof(uint_fast8_t)))) {
-               return -1;
-       }
-       for (i = 0; i < pclr->numchans; ++i) {
Index: graphics/jasper/patches/patch-src_libjasper_jp2_jp2_dec_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jp2_jp2_dec_c
diff -N graphics/jasper/patches/patch-src_libjasper_jp2_jp2_dec_c
--- graphics/jasper/patches/patch-src_libjasper_jp2_jp2_dec_c   6 Nov 2015 
22:28:29 -0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-$OpenBSD: patch-src_libjasper_jp2_jp2_dec_c,v 1.3 2015/11/06 22:28:29 sthen 
Exp $
-
-Security fixes from Slackware:
-       CVE-2014-8137: double-free
-       CVE-2014-8138: heap-based buffer overflow
-
---- src/libjasper/jp2/jp2_dec.c.orig   Fri Jan 19 13:43:05 2007
-+++ src/libjasper/jp2/jp2_dec.c        Thu Oct 29 22:04:41 2015
-@@ -291,9 +291,14 @@ jas_image_t *jp2_decode(jas_stream_t *in, char *optstr
-       case JP2_COLR_ICC:
-               iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
-                 dec->colr->data.colr.iccplen);
--              assert(iccprof);
-+              if (!iccprof) {
-+                      jas_eprintf("error: failed to parse ICC profile\n");
-+                      goto error;
-+              }
-               jas_iccprof_gethdr(iccprof, &icchdr);
--              jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
-+              if (jas_getdbglevel() >= 1) {
-+                      jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
-+              }
-               jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
-               dec->image->cmprof_ = jas_cmprof_createfromiccprof(iccprof);
-               assert(dec->image->cmprof_);
-@@ -336,7 +341,7 @@ jas_image_t *jp2_decode(jas_stream_t *in, char *optstr
-       }
- 
-       /* Allocate space for the channel-number to component-number LUT. */
--      if (!(dec->chantocmptlut = jas_malloc(dec->numchans * 
sizeof(uint_fast16_t)))) {
-+      if (!(dec->chantocmptlut = jas_alloc2(dec->numchans, 
sizeof(uint_fast16_t)))) {
-               jas_eprintf("error: no memory\n");
-               goto error;
-       }
-@@ -354,7 +359,7 @@ jas_image_t *jp2_decode(jas_stream_t *in, char *optstr
-                       if (cmapent->map == JP2_CMAP_DIRECT) {
-                               dec->chantocmptlut[channo] = channo;
-                       } else if (cmapent->map == JP2_CMAP_PALETTE) {
--                              lutents = jas_malloc(pclrd->numlutents * 
sizeof(int_fast32_t));
-+                              lutents = jas_alloc2(pclrd->numlutents, 
sizeof(int_fast32_t));
-                               for (i = 0; i < pclrd->numlutents; ++i) {
-                                       lutents[i] = 
pclrd->lutdata[cmapent->pcol + i * pclrd->numchans];
-                               }
-@@ -386,6 +391,11 @@ jas_image_t *jp2_decode(jas_stream_t *in, char *optstr
-       /* Determine the type of each component. */
-       if (dec->cdef) {
-               for (i = 0; i < dec->numchans; ++i) {
-+                      /* Is the channel number reasonable? */
-+                      if (dec->cdef->data.cdef.ents[i].channo >= 
dec->numchans) {
-+                              jas_eprintf("error: invalid channel number in 
CDEF box\n");
-+                              goto error;
-+                      }
-                       jas_image_setcmpttype(dec->image,
-                         
dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
-                         jp2_getct(jas_image_clrspc(dec->image),
Index: graphics/jasper/patches/patch-src_libjasper_jp2_jp2_enc_c
===================================================================
RCS file: /cvs/ports/graphics/jasper/patches/patch-src_libjasper_jp2_jp2_enc_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_libjasper_jp2_jp2_enc_c
--- graphics/jasper/patches/patch-src_libjasper_jp2_jp2_enc_c   17 May 2008 
09:32:16 -0000      1.1
+++ graphics/jasper/patches/patch-src_libjasper_jp2_jp2_enc_c   9 Dec 2017 
12:16:22 -0000
@@ -1,25 +1,9 @@
-$OpenBSD: patch-src_libjasper_jp2_jp2_enc_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jp2/jp2_enc.c.orig   Fri Jan 19 22:43:05 2007
-+++ src/libjasper/jp2/jp2_enc.c        Fri May 16 21:27:52 2008
-@@ -191,7 +191,7 @@ int sgnd;
-               }
-               bpcc = &box->data.bpcc;
-               bpcc->numcmpts = jas_image_numcmpts(image);
--              if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts *
-+              if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts,
-                 sizeof(uint_fast8_t)))) {
-                       goto error;
-               }
-@@ -285,7 +285,7 @@ int sgnd;
-               }
-               cdef = &box->data.cdef;
-               cdef->numchans = jas_image_numcmpts(image);
--              cdef->ents = jas_malloc(cdef->numchans * 
sizeof(jp2_cdefchan_t));
-+              cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t));
-               for (i = 0; i < jas_image_numcmpts(image); ++i) {
-                       cdefchanent = &cdef->ents[i];
-                       cdefchanent->channo = i;
-@@ -343,7 +343,8 @@ int sgnd;
+$OpenBSD$
+
+Index: src/libjasper/jp2/jp2_enc.c
+--- src/libjasper/jp2/jp2_enc.c.orig
++++ src/libjasper/jp2/jp2_enc.c
+@@ -391,7 +391,8 @@ int jp2_encode(jas_image_t *image, jas_stream_t *out, 
        /* Output the JPEG-2000 code stream. */
  
        overhead = jas_stream_getrwcount(out);
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_cs_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_cs_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_cs_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_cs_c    20 Apr 2013 
15:25:35 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,82 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_cs_c,v 1.4 2013/04/20 15:25:35 naddy Exp 
$
---- src/libjasper/jpc/jpc_cs.c.orig    Fri Jan 19 22:43:07 2007
-+++ src/libjasper/jpc/jpc_cs.c Fri Apr 19 18:32:09 2013
-@@ -502,7 +502,7 @@ static int jpc_siz_getparms(jpc_ms_t *ms, jpc_cstate_t
-         !siz->tileheight || !siz->numcomps) {
-               return -1;
-       }
--      if (!(siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t)))) {
-+      if (!(siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t)))) {
-               return -1;
-       }
-       for (i = 0; i < siz->numcomps; ++i) {
-@@ -744,6 +744,10 @@ static int jpc_cox_getcompparms(jpc_ms_t *ms, jpc_csta
-               return -1;
-       }
-       compparms->numrlvls = compparms->numdlvls + 1;
-+      if (compparms->numrlvls > JPC_MAXRLVLS) {
-+              jpc_cox_destroycompparms(compparms);
-+              return -1;
-+      }
-       if (prtflag) {
-               for (i = 0; i < compparms->numrlvls; ++i) {
-                       if (jpc_getuint8(in, &tmp)) {
-@@ -982,8 +986,12 @@ static int jpc_qcx_getcompparms(jpc_qcxcp_t *compparms
-               compparms->numstepsizes = (len - n) / 2;
-               break;
-       }
-+      if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) {
-+              jpc_qcx_destroycompparms(compparms);
-+              return -1;
-+      }
-       if (compparms->numstepsizes > 0) {
--              compparms->stepsizes = jas_malloc(compparms->numstepsizes *
-+              compparms->stepsizes = jas_alloc2(compparms->numstepsizes,
-                 sizeof(uint_fast16_t));
-               assert(compparms->stepsizes);
-               for (i = 0; i < compparms->numstepsizes; ++i) {
-@@ -1091,7 +1099,7 @@ static int jpc_ppm_getparms(jpc_ms_t *ms, jpc_cstate_t
- 
-       ppm->len = ms->len - 1;
-       if (ppm->len > 0) {
--              if (!(ppm->data = jas_malloc(ppm->len * sizeof(unsigned 
char)))) {
-+              if (!(ppm->data = jas_malloc(ppm->len))) {
-                       goto error;
-               }
-               if (JAS_CAST(uint, jas_stream_read(in, ppm->data, ppm->len)) != 
ppm->len) {
-@@ -1160,7 +1168,7 @@ static int jpc_ppt_getparms(jpc_ms_t *ms, jpc_cstate_t
-       }
-       ppt->len = ms->len - 1;
-       if (ppt->len > 0) {
--              if (!(ppt->data = jas_malloc(ppt->len * sizeof(unsigned 
char)))) {
-+              if (!(ppt->data = jas_malloc(ppt->len))) {
-                       goto error;
-               }
-               if (jas_stream_read(in, (char *) ppt->data, ppt->len) != 
JAS_CAST(int, ppt->len)) {
-@@ -1223,7 +1231,7 @@ static int jpc_poc_getparms(jpc_ms_t *ms, jpc_cstate_t
-       uint_fast8_t tmp;
-       poc->numpchgs = (cstate->numcomps > 256) ? (ms->len / 9) :
-         (ms->len / 7);
--      if (!(poc->pchgs = jas_malloc(poc->numpchgs * sizeof(jpc_pocpchg_t)))) {
-+      if (!(poc->pchgs = jas_alloc2(poc->numpchgs, sizeof(jpc_pocpchg_t)))) {
-               goto error;
-       }
-       for (pchgno = 0, pchg = poc->pchgs; pchgno < poc->numpchgs; ++pchgno,
-@@ -1328,7 +1336,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms, jpc_cstate_t
-       jpc_crgcomp_t *comp;
-       uint_fast16_t compno;
-       crg->numcomps = cstate->numcomps;
--      if (!(crg->comps = jas_malloc(cstate->numcomps * 
sizeof(uint_fast16_t)))) {
-+      if (!(crg->comps = jas_alloc2(cstate->numcomps, 
sizeof(jpc_crgcomp_t)))) {
-               return -1;
-       }
-       for (compno = 0, comp = crg->comps; compno < cstate->numcomps;
-@@ -1467,7 +1475,7 @@ static int jpc_unk_getparms(jpc_ms_t *ms, jpc_cstate_t
-       cstate = 0;
- 
-       if (ms->len > 0) {
--              if (!(unk->data = jas_malloc(ms->len * sizeof(unsigned char)))) 
{
-+              if (!(unk->data = jas_malloc(ms->len))) {
-                       return -1;
-               }
-               if (jas_stream_read(in, (char *) unk->data, ms->len) != 
JAS_CAST(int, ms->len)) {
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_dec_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_dec_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_dec_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_dec_c   6 Nov 2015 
22:28:29 -0000       1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,166 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_dec_c,v 1.4 2015/11/06 22:28:29 sthen 
Exp $
-
-Security fixes from Slackware:
-       CVE-2014-8157: off-by-one
-       CVE-2014-9029: multiple off-by-one
-
---- src/libjasper/jpc/jpc_dec.c.orig   Fri Jan 19 13:43:07 2007
-+++ src/libjasper/jpc/jpc_dec.c        Thu Oct 29 22:08:08 2015
-@@ -449,7 +449,7 @@ static int jpc_dec_process_sot(jpc_dec_t *dec, jpc_ms_
- 
-       if (dec->state == JPC_MH) {
- 
--              compinfos = jas_malloc(dec->numcomps * 
sizeof(jas_image_cmptparm_t));
-+              compinfos = jas_alloc2(dec->numcomps, 
sizeof(jas_image_cmptparm_t));
-               assert(compinfos);
-               for (cmptno = 0, cmpt = dec->cmpts, compinfo = compinfos;
-                 cmptno < dec->numcomps; ++cmptno, ++cmpt, ++compinfo) {
-@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t *dec, jpc_ms_
-               dec->curtileendoff = 0;
-       }
- 
--      if (JAS_CAST(int, sot->tileno) > dec->numtiles) {
-+      if (JAS_CAST(int, sot->tileno) >= dec->numtiles) {
-               jas_eprintf("invalid tile number in SOT marker segment\n");
-               return -1;
-       }
-@@ -692,7 +692,7 @@ static int jpc_dec_tileinit(jpc_dec_t *dec, jpc_dec_ti
-                       tile->realmode = 1;
-               }
-               tcomp->numrlvls = ccp->numrlvls;
--              if (!(tcomp->rlvls = jas_malloc(tcomp->numrlvls *
-+              if (!(tcomp->rlvls = jas_alloc2(tcomp->numrlvls,
-                 sizeof(jpc_dec_rlvl_t)))) {
-                       return -1;
-               }
-@@ -764,7 +764,7 @@ rlvl->bands = 0;
-                         rlvl->cbgheightexpn);
- 
-                       rlvl->numbands = (!rlvlno) ? 1 : 3;
--                      if (!(rlvl->bands = jas_malloc(rlvl->numbands *
-+                      if (!(rlvl->bands = jas_alloc2(rlvl->numbands,
-                         sizeof(jpc_dec_band_t)))) {
-                               return -1;
-                       }
-@@ -797,7 +797,7 @@ rlvl->bands = 0;
- 
-                               assert(rlvl->numprcs);
- 
--                              if (!(band->prcs = jas_malloc(rlvl->numprcs * 
sizeof(jpc_dec_prc_t)))) {
-+                              if (!(band->prcs = jas_alloc2(rlvl->numprcs, 
sizeof(jpc_dec_prc_t)))) {
-                                       return -1;
-                               }
- 
-@@ -834,7 +834,7 @@ rlvl->bands = 0;
-                       if (!(prc->numimsbstagtree = 
jpc_tagtree_create(prc->numhcblks, prc->numvcblks))) {
-                               return -1;
-                       }
--                      if (!(prc->cblks = jas_malloc(prc->numcblks * 
sizeof(jpc_dec_cblk_t)))) {
-+                      if (!(prc->cblks = jas_alloc2(prc->numcblks, 
sizeof(jpc_dec_cblk_t)))) {
-                               return -1;
-                       }
- 
-@@ -1181,7 +1181,7 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_
-               return -1;
-       }
- 
--      if (!(dec->cmpts = jas_malloc(dec->numcomps * sizeof(jpc_dec_cmpt_t)))) 
{
-+      if (!(dec->cmpts = jas_alloc2(dec->numcomps, sizeof(jpc_dec_cmpt_t)))) {
-               return -1;
-       }
- 
-@@ -1204,7 +1204,7 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_
-       dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth);
-       dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, 
dec->tileheight);
-       dec->numtiles = dec->numhtiles * dec->numvtiles;
--      if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) 
{
-+      if (!(dec->tiles = jas_alloc2(dec->numtiles, sizeof(jpc_dec_tile_t)))) {
-               return -1;
-       }
- 
-@@ -1228,7 +1228,7 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_
-               tile->pkthdrstreampos = 0;
-               tile->pptstab = 0;
-               tile->cp = 0;
--              if (!(tile->tcomps = jas_malloc(dec->numcomps *
-+              if (!(tile->tcomps = jas_alloc2(dec->numcomps,
-                 sizeof(jpc_dec_tcomp_t)))) {
-                       return -1;
-               }
-@@ -1280,7 +1280,7 @@ static int jpc_dec_process_coc(jpc_dec_t *dec, jpc_ms_
-       jpc_coc_t *coc = &ms->parms.coc;
-       jpc_dec_tile_t *tile;
- 
--      if (JAS_CAST(int, coc->compno) > dec->numcomps) {
-+      if (JAS_CAST(int, coc->compno) >= dec->numcomps) {
-               jas_eprintf("invalid component number in COC marker segment\n");
-               return -1;
-       }
-@@ -1306,7 +1306,7 @@ static int jpc_dec_process_rgn(jpc_dec_t *dec, jpc_ms_
-       jpc_rgn_t *rgn = &ms->parms.rgn;
-       jpc_dec_tile_t *tile;
- 
--      if (JAS_CAST(int, rgn->compno) > dec->numcomps) {
-+      if (JAS_CAST(int, rgn->compno) >= dec->numcomps) {
-               jas_eprintf("invalid component number in RGN marker segment\n");
-               return -1;
-       }
-@@ -1355,7 +1355,7 @@ static int jpc_dec_process_qcc(jpc_dec_t *dec, jpc_ms_
-       jpc_qcc_t *qcc = &ms->parms.qcc;
-       jpc_dec_tile_t *tile;
- 
--      if (JAS_CAST(int, qcc->compno) > dec->numcomps) {
-+      if (JAS_CAST(int, qcc->compno) >= dec->numcomps) {
-               jas_eprintf("invalid component number in QCC marker segment\n");
-               return -1;
-       }
-@@ -1466,7 +1466,9 @@ static int jpc_dec_process_unk(jpc_dec_t *dec, jpc_ms_
-       dec = 0;
- 
-       jas_eprintf("warning: ignoring unknown marker segment\n");
--      jpc_ms_dump(ms, stderr);
-+      if (jas_getdbglevel() >= 1) {
-+              jpc_ms_dump(ms, stderr);
-+      }
-       return 0;
- }
- 
-@@ -1489,7 +1491,7 @@ static jpc_dec_cp_t *jpc_dec_cp_create(uint_fast16_t n
-       cp->numlyrs = 0;
-       cp->mctid = 0;
-       cp->csty = 0;
--      if (!(cp->ccps = jas_malloc(cp->numcomps * sizeof(jpc_dec_ccp_t)))) {
-+      if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) {
-               return 0;
-       }
-       if (!(cp->pchglist = jpc_pchglist_create())) {
-@@ -2048,7 +2050,7 @@ jpc_streamlist_t *jpc_streamlist_create()
-       }
-       streamlist->numstreams = 0;
-       streamlist->maxstreams = 100;
--      if (!(streamlist->streams = jas_malloc(streamlist->maxstreams *
-+      if (!(streamlist->streams = jas_alloc2(streamlist->maxstreams,
-         sizeof(jas_stream_t *)))) {
-               jas_free(streamlist);
-               return 0;
-@@ -2068,8 +2070,8 @@ int jpc_streamlist_insert(jpc_streamlist_t *streamlist
-       /* Grow the array of streams if necessary. */
-       if (streamlist->numstreams >= streamlist->maxstreams) {
-               newmaxstreams = streamlist->maxstreams + 1024;
--              if (!(newstreams = jas_realloc(streamlist->streams,
--                (newmaxstreams + 1024) * sizeof(jas_stream_t *)))) {
-+              if (!(newstreams = jas_realloc2(streamlist->streams,
-+                (newmaxstreams + 1024), sizeof(jas_stream_t *)))) {
-                       return -1;
-               }
-               for (i = streamlist->numstreams; i < streamlist->maxstreams; 
++i) {
-@@ -2155,8 +2157,7 @@ int jpc_ppxstab_grow(jpc_ppxstab_t *tab, int maxents)
- {
-       jpc_ppxstabent_t **newents;
-       if (tab->maxents < maxents) {
--              newents = (tab->ents) ? jas_realloc(tab->ents, maxents *
--                sizeof(jpc_ppxstabent_t *)) : jas_malloc(maxents * 
sizeof(jpc_ppxstabent_t *));
-+              newents = jas_realloc2(tab->ents, maxents, 
sizeof(jpc_ppxstabent_t *));
-               if (!newents) {
-                       return -1;
-               }
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_enc_c
===================================================================
RCS file: /cvs/ports/graphics/jasper/patches/patch-src_libjasper_jpc_jpc_enc_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_libjasper_jpc_jpc_enc_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_enc_c   17 May 2008 
09:32:16 -0000      1.1
+++ graphics/jasper/patches/patch-src_libjasper_jpc_jpc_enc_c   9 Dec 2017 
12:17:20 -0000
@@ -1,103 +1,15 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_enc_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_enc.c.orig   Fri Jan 19 22:43:07 2007
-+++ src/libjasper/jpc/jpc_enc.c        Fri May 16 21:40:21 2008
-@@ -403,7 +403,7 @@ static jpc_enc_cp_t *cp_create(char *optstr, jas_image
-               vsteplcm *= jas_image_cmptvstep(image, cmptno);
-       }
- 
--      if (!(cp->ccps = jas_malloc(cp->numcmpts * sizeof(jpc_enc_ccp_t)))) {
-+      if (!(cp->ccps = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_ccp_t)))) {
-               goto error;
-       }
-       for (cmptno = 0, ccp = cp->ccps; cmptno < JAS_CAST(int, cp->numcmpts); 
++cmptno,
-@@ -656,7 +656,7 @@ static jpc_enc_cp_t *cp_create(char *optstr, jas_image
- 
-       if (ilyrrates && numilyrrates > 0) {
-               tcp->numlyrs = numilyrrates + 1;
--              if (!(tcp->ilyrrates = jas_malloc((tcp->numlyrs - 1) *
-+              if (!(tcp->ilyrrates = jas_alloc2((tcp->numlyrs - 1),
-                 sizeof(jpc_fix_t)))) {
-                       goto error;
-               }
-@@ -940,7 +940,7 @@ startoff = jas_stream_getrwcount(enc->out);
-       siz->tilewidth = cp->tilewidth;
-       siz->tileheight = cp->tileheight;
-       siz->numcomps = cp->numcmpts;
--      siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t));
-+      siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t));
-       assert(siz->comps);
-       for (i = 0; i < JAS_CAST(int, cp->numcmpts); ++i) {
-               siz->comps[i].prec = cp->ccps[i].prec;
-@@ -958,7 +958,8 @@ startoff = jas_stream_getrwcount(enc->out);
-       if (!(enc->mrk = jpc_ms_create(JPC_MS_COM))) {
+$OpenBSD$
+
+Index: src/libjasper/jpc/jpc_enc.c
+--- src/libjasper/jpc/jpc_enc.c.orig
++++ src/libjasper/jpc/jpc_enc.c
+@@ -966,7 +966,8 @@ startoff = jas_stream_getrwcount(enc->out);
+               jas_eprintf("cannot create COM marker\n");
                return -1;
        }
 -      sprintf(buf, "Creator: JasPer Version %s", jas_getversion());
-+      snprintf(buf, sizeof buf, "Creator: JasPer Version %s", 
++      snprintf(buf, sizeof buf, "Creator: JasPer Version %s",
 +          jas_getversion());
        com = &enc->mrk->parms.com;
-       com->len = strlen(buf);
+       com->len = JAS_CAST(uint_fast16_t, strlen(buf));
        com->regid = JPC_COM_LATIN;
-@@ -977,7 +978,7 @@ startoff = jas_stream_getrwcount(enc->out);
-               return -1;
-       }
-       crg = &enc->mrk->parms.crg;
--      crg->comps = jas_malloc(crg->numcomps * sizeof(jpc_crgcomp_t));
-+      crg->comps = jas_alloc2(crg->numcomps, sizeof(jpc_crgcomp_t));
-       if (jpc_putms(enc->out, enc->cstate, enc->mrk)) {
-               jas_eprintf("cannot write CRG marker\n");
-               return -1;
-@@ -1955,7 +1956,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_enc_cp_t *cp, 
-       tile->mctid = cp->tcp.mctid;
- 
-       tile->numlyrs = cp->tcp.numlyrs;
--      if (!(tile->lyrsizes = jas_malloc(tile->numlyrs *
-+      if (!(tile->lyrsizes = jas_alloc2(tile->numlyrs,
-         sizeof(uint_fast32_t)))) {
-               goto error;
-       }
-@@ -1964,7 +1965,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_enc_cp_t *cp, 
-       }
- 
-       /* Allocate an array for the per-tile-component information. */
--      if (!(tile->tcmpts = jas_malloc(cp->numcmpts * 
sizeof(jpc_enc_tcmpt_t)))) {
-+      if (!(tile->tcmpts = jas_alloc2(cp->numcmpts, 
sizeof(jpc_enc_tcmpt_t)))) {
-               goto error;
-       }
-       /* Initialize a few members critical for error recovery. */
-@@ -2110,7 +2111,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc_enc_tcmpt_t *
-         jas_seq2d_ystart(tcmpt->data), jas_seq2d_xend(tcmpt->data),
-         jas_seq2d_yend(tcmpt->data), bandinfos);
- 
--      if (!(tcmpt->rlvls = jas_malloc(tcmpt->numrlvls * 
sizeof(jpc_enc_rlvl_t)))) {
-+      if (!(tcmpt->rlvls = jas_alloc2(tcmpt->numrlvls, 
sizeof(jpc_enc_rlvl_t)))) {
-               goto error;
-       }
-       for (rlvlno = 0, rlvl = tcmpt->rlvls; rlvlno < tcmpt->numrlvls;
-@@ -2213,7 +2214,7 @@ static jpc_enc_rlvl_t *rlvl_create(jpc_enc_rlvl_t *rlv
-       rlvl->numvprcs = JPC_FLOORDIVPOW2(brprcbry - tlprctly, 
rlvl->prcheightexpn);
-       rlvl->numprcs = rlvl->numhprcs * rlvl->numvprcs;
- 
--      if (!(rlvl->bands = jas_malloc(rlvl->numbands * 
sizeof(jpc_enc_band_t)))) {
-+      if (!(rlvl->bands = jas_alloc2(rlvl->numbands, 
sizeof(jpc_enc_band_t)))) {
-               goto error;
-       }
-       for (bandno = 0, band = rlvl->bands; bandno < rlvl->numbands;
-@@ -2290,7 +2291,7 @@ if (bandinfo->xstart != bandinfo->xend && bandinfo->ys
-       band->synweight = bandinfo->synenergywt;
- 
- if (band->data) {
--      if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_enc_prc_t)))) {
-+      if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_enc_prc_t)))) {
-               goto error;
-       }
-       for (prcno = 0, prc = band->prcs; prcno < rlvl->numprcs; ++prcno,
-@@ -2422,7 +2423,7 @@ if (!rlvlno) {
-                       goto error;
-               }
- 
--              if (!(prc->cblks = jas_malloc(prc->numcblks * 
sizeof(jpc_enc_cblk_t)))) {
-+              if (!(prc->cblks = jas_alloc2(prc->numcblks, 
sizeof(jpc_enc_cblk_t)))) {
-                       goto error;
-               }
-               for (cblkno = 0, cblk = prc->cblks; cblkno < prc->numcblks;
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqdec_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqdec_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqdec_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqdec_c 17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_mqdec_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_mqdec.c.orig Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_mqdec.c      Fri May 16 21:05:37 2008
-@@ -118,7 +118,7 @@ jpc_mqdec_t *jpc_mqdec_create(int maxctxs, jas_stream_
-       mqdec->in = in;
-       mqdec->maxctxs = maxctxs;
-       /* Allocate memory for the per-context state information. */
--      if (!(mqdec->ctxs = jas_malloc(mqdec->maxctxs * sizeof(jpc_mqstate_t 
*)))) {
-+      if (!(mqdec->ctxs = jas_alloc2(mqdec->maxctxs, sizeof(jpc_mqstate_t 
*)))) {
-               goto error;
-       }
-       /* Set the current context to the first context. */
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqenc_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqenc_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqenc_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_mqenc_c 17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_mqenc_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_mqenc.c.orig Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_mqenc.c      Fri May 16 21:00:52 2008
-@@ -197,7 +197,7 @@ jpc_mqenc_t *jpc_mqenc_create(int maxctxs, jas_stream_
-       mqenc->maxctxs = maxctxs;
- 
-       /* Allocate memory for the per-context state information. */
--      if (!(mqenc->ctxs = jas_malloc(mqenc->maxctxs * sizeof(jpc_mqstate_t 
*)))) {
-+      if (!(mqenc->ctxs = jas_alloc2(mqenc->maxctxs, sizeof(jpc_mqstate_t 
*)))) {
-               goto error;
-       }
- 
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_qmfb_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_qmfb_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_qmfb_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_qmfb_c  6 Nov 2015 
22:28:29 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,341 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_qmfb_c,v 1.2 2015/11/06 22:28:29 sthen 
Exp $
-
-Security fix from Slackware:
-       CVE-2014-8158: multiple stack-based buffer overflows
-
---- src/libjasper/jpc/jpc_qmfb.c.orig  Fri Jan 19 13:43:07 2007
-+++ src/libjasper/jpc/jpc_qmfb.c       Thu Oct 29 22:06:54 2015
-@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numcols, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
--#else
--      jpc_fix_t splitbuf[bufsize];
--#endif
-       jpc_fix_t *buf = splitbuf;
-       register jpc_fix_t *srcptr;
-       register jpc_fix_t *dstptr;
-@@ -318,15 +314,13 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int
-       register int m;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Get a buffer. */
-       if (bufsize > QMFB_SPLITBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide in this 
case. */
-                       abort();
-               }
-       }
--#endif
- 
-       if (numcols >= 2) {
-               hstartcol = (numcols + 1 - parity) >> 1;
-@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int
-               }
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the split buffer was allocated on the heap, free this memory. */
-       if (buf != splitbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numrows, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
--#else
--      jpc_fix_t splitbuf[bufsize];
--#endif
-       jpc_fix_t *buf = splitbuf;
-       register jpc_fix_t *srcptr;
-       register jpc_fix_t *dstptr;
-@@ -386,15 +374,13 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int
-       register int m;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Get a buffer. */
-       if (bufsize > QMFB_SPLITBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide in this 
case. */
-                       abort();
-               }
-       }
--#endif
- 
-       if (numrows >= 2) {
-               hstartcol = (numrows + 1 - parity) >> 1;
-@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int
-               }
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the split buffer was allocated on the heap, free this memory. */
-       if (buf != splitbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, 
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numrows, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
--#else
--      jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE];
--#endif
-       jpc_fix_t *buf = splitbuf;
-       jpc_fix_t *srcptr;
-       jpc_fix_t *dstptr;
-@@ -457,15 +437,13 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, 
-       int m;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Get a buffer. */
-       if (bufsize > QMFB_SPLITBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide in this 
case. */
-                       abort();
-               }
-       }
--#endif
- 
-       if (numrows >= 2) {
-               hstartcol = (numrows + 1 - parity) >> 1;
-@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, 
-               }
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the split buffer was allocated on the heap, free this memory. */
-       if (buf != splitbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, 
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numrows, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
--#else
--      jpc_fix_t splitbuf[bufsize * numcols];
--#endif
-       jpc_fix_t *buf = splitbuf;
-       jpc_fix_t *srcptr;
-       jpc_fix_t *dstptr;
-@@ -546,15 +518,13 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, 
-       int m;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Get a buffer. */
-       if (bufsize > QMFB_SPLITBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide in this 
case. */
-                       abort();
-               }
-       }
--#endif
- 
-       if (numrows >= 2) {
-               hstartcol = (numrows + 1 - parity) >> 1;
-@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, 
-               }
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the split buffer was allocated on the heap, free this memory. */
-       if (buf != splitbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -619,26 +587,20 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int 
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numcols, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
--#else
--      jpc_fix_t joinbuf[bufsize];
--#endif
-       jpc_fix_t *buf = joinbuf;
-       register jpc_fix_t *srcptr;
-       register jpc_fix_t *dstptr;
-       register int n;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Allocate memory for the join buffer from the heap. */
-       if (bufsize > QMFB_JOINBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide. */
-                       abort();
-               }
-       }
--#endif
- 
-       hstartcol = (numcols + 1 - parity) >> 1;
- 
-@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int 
-               ++srcptr;
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the join buffer was allocated on the heap, free this memory. */
-       if (buf != joinbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -684,26 +644,20 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int 
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numrows, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
--#else
--      jpc_fix_t joinbuf[bufsize];
--#endif
-       jpc_fix_t *buf = joinbuf;
-       register jpc_fix_t *srcptr;
-       register jpc_fix_t *dstptr;
-       register int n;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Allocate memory for the join buffer from the heap. */
-       if (bufsize > QMFB_JOINBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide. */
-                       abort();
-               }
-       }
--#endif
- 
-       hstartcol = (numrows + 1 - parity) >> 1;
- 
-@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int 
-               ++srcptr;
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the join buffer was allocated on the heap, free this memory. */
-       if (buf != joinbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, i
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numrows, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
--#else
--      jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE];
--#endif
-       jpc_fix_t *buf = joinbuf;
-       jpc_fix_t *srcptr;
-       jpc_fix_t *dstptr;
-@@ -763,15 +711,13 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, i
-       register int i;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Allocate memory for the join buffer from the heap. */
-       if (bufsize > QMFB_JOINBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * JPC_QMFB_COLGRPSIZE * 
sizeof(jpc_fix_t)))) {
-+              if (!(buf = jas_alloc3(bufsize, JPC_QMFB_COLGRPSIZE, 
sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide. */
-                       abort();
-               }
-       }
--#endif
- 
-       hstartcol = (numrows + 1 - parity) >> 1;
- 
-@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, i
-               srcptr += JPC_QMFB_COLGRPSIZE;
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the join buffer was allocated on the heap, free this memory. */
-       if (buf != joinbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
-@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, i
- {
- 
-       int bufsize = JPC_CEILDIVPOW2(numrows, 1);
--#if !defined(HAVE_VLA)
-       jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
--#else
--      jpc_fix_t joinbuf[bufsize * numcols];
--#endif
-       jpc_fix_t *buf = joinbuf;
-       jpc_fix_t *srcptr;
-       jpc_fix_t *dstptr;
-@@ -849,15 +789,13 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, i
-       register int i;
-       int hstartcol;
- 
--#if !defined(HAVE_VLA)
-       /* Allocate memory for the join buffer from the heap. */
-       if (bufsize > QMFB_JOINBUFSIZE) {
--              if (!(buf = jas_malloc(bufsize * numcols * sizeof(jpc_fix_t)))) 
{
-+              if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
-                       /* We have no choice but to commit suicide. */
-                       abort();
-               }
-       }
--#endif
- 
-       hstartcol = (numrows + 1 - parity) >> 1;
- 
-@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, i
-               srcptr += numcols;
-       }
- 
--#if !defined(HAVE_VLA)
-       /* If the join buffer was allocated on the heap, free this memory. */
-       if (buf != joinbuf) {
-               jas_free(buf);
-       }
--#endif
- 
- }
- 
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t1enc_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t1enc_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t1enc_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t1enc_c 17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_t1enc_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_t1enc.c.orig Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_t1enc.c      Fri May 16 21:11:52 2008
-@@ -219,7 +219,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_stream_t *out,
- 
-       cblk->numpasses = (cblk->numbps > 0) ? (3 * cblk->numbps - 2) : 0;
-       if (cblk->numpasses > 0) {
--              cblk->passes = jas_malloc(cblk->numpasses * 
sizeof(jpc_enc_pass_t));
-+              cblk->passes = jas_alloc2(cblk->numpasses, 
sizeof(jpc_enc_pass_t));
-               assert(cblk->passes);
-       } else {
-               cblk->passes = 0;
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2cod_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2cod_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2cod_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2cod_c 17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_t2cod_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_t2cod.c.orig Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_t2cod.c      Fri May 16 21:34:48 2008
-@@ -573,7 +573,7 @@ int jpc_pchglist_insert(jpc_pchglist_t *pchglist, int 
-       }
-       if (pchglist->numpchgs >= pchglist->maxpchgs) {
-               newmaxpchgs = pchglist->maxpchgs + 128;
--              if (!(newpchgs = jas_realloc(pchglist->pchgs, newmaxpchgs * 
sizeof(jpc_pchg_t *)))) {
-+              if (!(newpchgs = jas_realloc2(pchglist->pchgs, newmaxpchgs, 
sizeof(jpc_pchg_t *)))) {
-                       return -1;
-               }
-               pchglist->maxpchgs = newmaxpchgs;
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2dec_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2dec_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2dec_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2dec_c 17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_t2dec_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_t2dec.c.orig Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_t2dec.c      Fri May 16 21:10:00 2008
-@@ -478,7 +478,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *dec, jpc_dec_ti
-               return 0;
-       }
-       pi->numcomps = dec->numcomps;
--      if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
-+      if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
-               jpc_pi_destroy(pi);
-               return 0;
-       }
-@@ -490,7 +490,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *dec, jpc_dec_ti
-       for (compno = 0, tcomp = tile->tcomps, picomp = pi->picomps;
-         compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
-               picomp->numrlvls = tcomp->numrlvls;
--              if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
-+              if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
-                 sizeof(jpc_pirlvl_t)))) {
-                       jpc_pi_destroy(pi);
-                       return 0;
-@@ -503,7 +503,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *dec, jpc_dec_ti
-                 rlvlno < picomp->numrlvls; ++rlvlno, ++pirlvl, ++rlvl) {
- /* XXX sizeof(long) should be sizeof different type */
-                       pirlvl->numprcs = rlvl->numprcs;
--                      if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
-+                      if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
-                         sizeof(long)))) {
-                               jpc_pi_destroy(pi);
-                               return 0;
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2enc_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2enc_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2enc_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_t2enc_c 17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_t2enc_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_t2enc.c.orig Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_t2enc.c      Fri May 16 21:12:44 2008
-@@ -565,7 +565,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t *cp, jpc_enc_
-       }
-       pi->pktno = -1;
-       pi->numcomps = cp->numcmpts;
--      if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
-+      if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
-               jpc_pi_destroy(pi);
-               return 0;
-       }
-@@ -577,7 +577,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t *cp, jpc_enc_
-       for (compno = 0, tcomp = tile->tcmpts, picomp = pi->picomps;
-         compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
-               picomp->numrlvls = tcomp->numrlvls;
--              if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
-+              if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
-                 sizeof(jpc_pirlvl_t)))) {
-                       jpc_pi_destroy(pi);
-                       return 0;
-@@ -591,7 +591,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t *cp, jpc_enc_
- /* XXX sizeof(long) should be sizeof different type */
-                       pirlvl->numprcs = rlvl->numprcs;
-                       if (rlvl->numprcs) {
--                              if (!(pirlvl->prclyrnos = 
jas_malloc(pirlvl->numprcs *
-+                              if (!(pirlvl->prclyrnos = 
jas_alloc2(pirlvl->numprcs,
-                                 sizeof(long)))) {
-                                       jpc_pi_destroy(pi);
-                                       return 0;
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_tagtree_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_tagtree_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_tagtree_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_tagtree_c       17 May 
2008 09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_tagtree_c,v 1.1 2008/05/17 09:32:16 
espie Exp $
---- src/libjasper/jpc/jpc_tagtree.c.orig       Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_tagtree.c    Fri May 16 21:05:54 2008
-@@ -125,7 +125,7 @@ jpc_tagtree_t *jpc_tagtree_create(int numleafsh, int n
-               ++numlvls;
-       } while (n > 1);
- 
--      if (!(tree->nodes_ = jas_malloc(tree->numnodes_ * 
sizeof(jpc_tagtreenode_t)))) {
-+      if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, 
sizeof(jpc_tagtreenode_t)))) {
-               return 0;
-       }
- 
Index: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_util_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_jpc_jpc_util_c
diff -N graphics/jasper/patches/patch-src_libjasper_jpc_jpc_util_c
--- graphics/jasper/patches/patch-src_libjasper_jpc_jpc_util_c  17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_libjasper_jpc_jpc_util_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/jpc/jpc_util.c.orig  Fri May 16 21:00:25 2008
-+++ src/libjasper/jpc/jpc_util.c       Fri May 16 21:09:30 2008
-@@ -109,7 +109,7 @@ int jpc_atoaf(char *s, int *numvalues, double **values
-       }
- 
-       if (n) {
--              if (!(vs = jas_malloc(n * sizeof(double)))) {
-+              if (!(vs = jas_alloc2(n, sizeof(double)))) {
-                       return -1;
-               }
- 
Index: graphics/jasper/patches/patch-src_libjasper_mif_mif_cod_c
===================================================================
RCS file: graphics/jasper/patches/patch-src_libjasper_mif_mif_cod_c
diff -N graphics/jasper/patches/patch-src_libjasper_mif_mif_cod_c
--- graphics/jasper/patches/patch-src_libjasper_mif_mif_cod_c   17 May 2008 
09:32:16 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-src_libjasper_mif_mif_cod_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/mif/mif_cod.c.orig   Fri May 16 21:00:25 2008
-+++ src/libjasper/mif/mif_cod.c        Fri May 16 21:26:40 2008
-@@ -438,8 +438,7 @@ static int mif_hdr_growcmpts(mif_hdr_t *hdr, int maxcm
-       int cmptno;
-       mif_cmpt_t **newcmpts;
-       assert(maxcmpts >= hdr->numcmpts);
--      newcmpts = (!hdr->cmpts) ? jas_malloc(maxcmpts * sizeof(mif_cmpt_t *)) :
--        jas_realloc(hdr->cmpts, maxcmpts * sizeof(mif_cmpt_t *));
-+      newcmpts = jas_realloc2(hdr->cmpts, maxcmpts, sizeof(mif_cmpt_t *));
-       if (!newcmpts) {
-               return -1;
-       }
Index: graphics/jasper/patches/patch-src_libjasper_pnm_pnm_enc_c
===================================================================
RCS file: /cvs/ports/graphics/jasper/patches/patch-src_libjasper_pnm_pnm_enc_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_libjasper_pnm_pnm_enc_c
--- graphics/jasper/patches/patch-src_libjasper_pnm_pnm_enc_c   17 May 2008 
09:32:16 -0000      1.1
+++ graphics/jasper/patches/patch-src_libjasper_pnm_pnm_enc_c   9 Dec 2017 
12:12:35 -0000
@@ -1,7 +1,8 @@
 $OpenBSD: patch-src_libjasper_pnm_pnm_enc_c,v 1.1 2008/05/17 09:32:16 espie 
Exp $
---- src/libjasper/pnm/pnm_enc.c.orig   Fri May 16 20:47:04 2008
-+++ src/libjasper/pnm/pnm_enc.c        Fri May 16 20:47:21 2008
-@@ -374,7 +374,7 @@ static int pnm_putdata(jas_stream_t *out, pnm_hdr_t *h
+Index: src/libjasper/pnm/pnm_enc.c
+--- src/libjasper/pnm/pnm_enc.c.orig
++++ src/libjasper/pnm/pnm_enc.c
+@@ -379,7 +379,7 @@ static int pnm_putdata(jas_stream_t *out, pnm_hdr_t *h
                                                }
                                        }
                                } else {
Index: graphics/jasper/pkg/PLIST
===================================================================
RCS file: /cvs/ports/graphics/jasper/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST
--- graphics/jasper/pkg/PLIST   20 Apr 2013 15:25:35 -0000      1.4
+++ graphics/jasper/pkg/PLIST   6 Dec 2017 00:49:54 -0000
@@ -2,12 +2,11 @@
 @bin bin/imgcmp
 @bin bin/imginfo
 @bin bin/jasper
-@bin bin/tmrdemo
 include/jasper/
 include/jasper/jas_cm.h
 include/jasper/jas_config.h
-include/jasper/jas_config2.h
 include/jasper/jas_debug.h
+include/jasper/jas_dll.h
 include/jasper/jas_fix.h
 include/jasper/jas_getopt.h
 include/jasper/jas_icc.h
@@ -23,10 +22,12 @@ include/jasper/jas_tvp.h
 include/jasper/jas_types.h
 include/jasper/jas_version.h
 include/jasper/jasper.h
-lib/libjasper.a
-lib/libjasper.la
 @lib lib/libjasper.so.${LIBjasper_VERSION}
+lib/pkgconfig/jasper.pc
 @man man/man1/imgcmp.1
 @man man/man1/imginfo.1
 @man man/man1/jasper.1
-@man man/man1/jiv.1
+share/doc/JasPer/
+share/doc/JasPer/README
+share/doc/JasPer/jasper.pdf
+share/doc/JasPer/jpeg2000.pdf


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to