Files
buildroot/package/pcre2/pcre2.mk
Bernd Kuhls 664db5d62c package/pcre2: security bump to version 10.48
https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.48

Fixes the following security issues:

(Security fix for specific API usage, GHSA-2p8c-ff85-vh9x)
 If pcre2_jit_compile() is called with options for some match modes, and
 then pcre2_match() is used to perform a match for a different match
 mode, an out-of-bounds read can occur if the match is attempted against
 invalid UTF input.

(Security fix for pattern conversion, GHSA-q8g2-wprr-34m9)
 If pcre2_convert() is called on untrusted input on platforms with
 32-bit size_t, an out-of-bounds heap write can occur.

(Security fix, GHSA-3r4p-g7gg-ppmf) Fixed an out-of-bounds write in DFA
 matching when using a heap limit; also fixed possible integer overflows
 which could cause under-allocation of the workspace.

(Security fix, GHSA-fmgr-6ggq-9859) Added bounds checks for several
 integer overflows while compiling patterns on 32-bit CPUs, which could
 cause under-allocation followed by out-of-bounds writes.

(Security fix, GHSA-9qww-pwc4-77qq) Applied lower buffer bound to
 prevent two out-of-bounds reads while scanning backwards through
 invalid UTF data with PCRE2_MATCH_INVALID_UTF.

(Security fix for specific API usage, #937) Fixed a leak and later
 invalid free when calling the fast-path pcre2_jit_match() function with
 a match data object previously used with pcre2_match() and
 PCRE2_COPY_MATCHED_SUBJECT.

(Low-severity security fix, GHSA-q7rw-r7qq-2hx6) Fixed exposure of two
 uninitialised bytes from malloc() via pcre2_serialize_encode().

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-09-10 20:43:10 +02:00

41 lines
1.2 KiB
Makefile

################################################################################
#
# pcre2
#
################################################################################
PCRE2_VERSION = 10.48
PCRE2_SITE = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$(PCRE2_VERSION)
PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2
PCRE2_LICENSE = BSD-3-Clause
PCRE2_LICENSE_FILES = LICENCE.md
PCRE2_CPE_ID_VENDOR = pcre
PCRE2_INSTALL_STAGING = YES
PCRE2_CONFIG_SCRIPTS = pcre2-config
# Fixes build/relink failure ("ERROR: unsafe header/library path used in
# cross-compilation: '-L/usr/lib'")
PCRE2_AUTORECONF = YES
PCRE2_CONF_OPTS += --enable-pcre2-8
PCRE2_CONF_OPTS += $(if $(BR2_PACKAGE_PCRE2_16),--enable-pcre2-16,--disable-pcre2-16)
PCRE2_CONF_OPTS += $(if $(BR2_PACKAGE_PCRE2_32),--enable-pcre2-32,--disable-pcre2-32)
ifeq ($(BR2_PACKAGE_PCRE2_JIT),y)
PCRE2_CONF_OPTS += --enable-jit
PCRE2_LICENSE += BSD-2-Clause
PCRE2_LICENSE_FILES += deps/sljit/LICENSE
else
PCRE2_CONF_OPTS += --disable-jit
endif
# disable fork usage if not available
ifeq ($(BR2_USE_MMU),)
PCRE2_CONF_OPTS += --disable-pcre2grep-callout
endif
# needed for qt6base
HOST_PCRE2_CONF_OPTS = --enable-pcre2-16
$(eval $(autotools-package))
$(eval $(host-autotools-package))