From: krant Date: Mon, 5 Feb 2024 11:47:50 +0000 (+0200) Subject: apr: update to 1.7.4 X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=68dd7b7cf6320c275fc082875c3d6bce361323de;p=feed%2Fpackages.git apr: update to 1.7.4 - Remove upstreamed patches - Fix bindir in apr-1-config to fix subversion build Signed-off-by: krant --- diff --git a/libs/apr/Makefile b/libs/apr/Makefile index afd2727304..f29fe94955 100644 --- a/libs/apr/Makefile +++ b/libs/apr/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apr -PKG_VERSION:=1.7.0 -PKG_RELEASE:=4 +PKG_VERSION:=1.7.4 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@APACHE/apr/ -PKG_HASH:=e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea +PKG_HASH:=fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577 PKG_MAINTAINER:=Thomas Heil @@ -88,7 +88,7 @@ define Build/InstallDev $(CP) $(PKG_INSTALL_DIR)/usr/share/build-1/* $(1)/usr/share/build-1 $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' \ $(1)/usr/bin/apr-1-config - $(SED) '/^bindir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config + $(SED) '/^bindir=/s|/usr/bin|$(STAGING_DIR)|' $(1)/usr/bin/apr-1-config $(SED) '/^datadir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config $(SED) '/^datarootdir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config $(SED) 's,/usr/share/build-1,$(STAGING_DIR)/usr/share/build-1,g' \ diff --git a/libs/apr/patches/000-050-backport-use-AC_CHECK_SIZEOF.patch b/libs/apr/patches/000-050-backport-use-AC_CHECK_SIZEOF.patch deleted file mode 100644 index 5b6ce100f8..0000000000 --- a/libs/apr/patches/000-050-backport-use-AC_CHECK_SIZEOF.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 374210c50ee9f4dbf265f0172dcf2d45b97d0550 -From: Graham Leggett -Date: Thu, 26 Dec 2019 01:18:53 +0000 -Subject: [PATCH] Use AC_CHECK_SIZEOF, so as to support cross compiling. PR - 56053. - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1871980 13f79535-47bb-0310-9956-ffa450edef68 ---- - build/apr_common.m4 | 37 ------------------------------------- - configure.in | 14 +++++++------- - 2 files changed, 7 insertions(+), 44 deletions(-) - ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -452,43 +452,6 @@ fi - - - dnl --dnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE]) --dnl --dnl A variant of AC_CHECK_SIZEOF which allows the checking of --dnl sizes of non-builtin types --dnl --AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED], --[changequote(<<, >>)dnl --dnl The name to #define. --define(<>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl --dnl The cache variable name. --define(<>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnl --changequote([, ])dnl --AC_MSG_CHECKING(size of $2) --AC_CACHE_VAL(AC_CV_NAME, --[AC_TRY_RUN([#include --$1 --#ifdef WIN32 --#define binmode "b" --#else --#define binmode --#endif --main() --{ -- FILE *f=fopen("conftestval", "w" binmode); -- if (!f) exit(1); -- fprintf(f, "%d\n", sizeof($2)); -- exit(0); --}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,, --AC_CV_NAME=$3))])dnl --AC_MSG_RESULT($AC_CV_NAME) --AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2) --undefine([AC_TYPE_NAME])dnl --undefine([AC_CV_NAME])dnl --]) -- -- --dnl - dnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY, - dnl [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS]) - dnl ---- a/configure.in -+++ b/configure.in -@@ -1798,7 +1798,7 @@ else - socklen_t_value="int" - fi - --APR_CHECK_SIZEOF_EXTENDED([#include ], pid_t, 8) -+AC_CHECK_SIZEOF(pid_t) - - if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then - pid_t_fmt='#define APR_PID_T_FMT "hd"' -@@ -1870,7 +1870,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, u - APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"]) - ]) - --APR_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) -+AC_CHECK_SIZEOF(ssize_t) - - dnl the else cases below should no longer occur; - AC_MSG_CHECKING([which format to use for apr_ssize_t]) -@@ -1888,7 +1888,7 @@ fi - - ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\"" - --APR_CHECK_SIZEOF_EXTENDED([#include ], size_t, 8) -+AC_CHECK_SIZEOF(size_t) - - # else cases below should no longer occur; - AC_MSG_CHECKING([which format to use for apr_size_t]) -@@ -1906,7 +1906,7 @@ fi - - size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\"" - --APR_CHECK_SIZEOF_EXTENDED([#include ], off_t, 8) -+AC_CHECK_SIZEOF(off_t) - - if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then - # Enable LFS -@@ -2000,7 +2000,7 @@ case $host in - ;; - *) - ino_t_value=ino_t -- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long) -+ AC_CHECK_SIZEOF(ino_t) - if test $ac_cv_sizeof_ino_t = 4; then - if test $ac_cv_sizeof_long = 4; then - ino_t_value="unsigned long" -@@ -2020,8 +2020,8 @@ else - bigendian=0 - fi - --APR_CHECK_SIZEOF_EXTENDED([#include --#include ],struct iovec,0) -+AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT -+#include ]) - if test "$ac_cv_sizeof_struct_iovec" = "0"; then - have_iovec=0 - else diff --git a/libs/apr/patches/000-055-backport-strerror-cache.patch b/libs/apr/patches/000-055-backport-strerror-cache.patch deleted file mode 100644 index 7a0caca674..0000000000 --- a/libs/apr/patches/000-055-backport-strerror-cache.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5fd2568c34a8d5c8159d9a5e0f5601f9e8902166 -From: Graham Leggett -Date: Tue, 10 Mar 2020 22:38:59 +0000 -Subject: [PATCH] APR's configure script uses AC_TRY_RUN to detect whether the - return type of strerror_r is int. When cross-compiling this defaults to no. - -This commit adds an AC_CACHE_CHECK so users who cross-compile APR may -influence the outcome with a configure variable. - - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1875065 13f79535-47bb-0310-9956-ffa450edef68 ---- - CHANGES | 7 +++++++ (OPENWRT REMOVED) - build/apr_common.m4 | 11 ++++------- - 2 files changed, 11 insertions(+), 7 deletions(-) - ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -489,8 +489,9 @@ dnl string. - dnl - dnl - AC_DEFUN([APR_CHECK_STRERROR_R_RC], [ --AC_MSG_CHECKING(for type of return code from strerror_r) --AC_TRY_RUN([ -+AC_CACHE_CHECK([whether return code from strerror_r has type int], -+[ac_cv_strerror_r_rc_int], -+[AC_TRY_RUN([ - #include - #include - #include -@@ -506,14 +507,10 @@ main() - }], [ - ac_cv_strerror_r_rc_int=yes ], [ - ac_cv_strerror_r_rc_int=no ], [ -- ac_cv_strerror_r_rc_int=no ] ) -+ ac_cv_strerror_r_rc_int=no ] ) ] ) - if test "x$ac_cv_strerror_r_rc_int" = xyes; then - AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int]) -- msg="int" --else -- msg="pointer" - fi --AC_MSG_RESULT([$msg]) - ] ) - - dnl diff --git a/libs/apr/patches/000-060-backport-require-stdlib.patch b/libs/apr/patches/000-060-backport-require-stdlib.patch deleted file mode 100644 index 5a15db2672..0000000000 --- a/libs/apr/patches/000-060-backport-require-stdlib.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 9d9c6990afaa7ad8eea0be524481bb48a5dd1b09 -From: Jim Jagielski -Date: Thu, 29 Oct 2020 20:16:55 +0000 -Subject: [PATCH] calls to exit() require stdlib.h or else we get - -Werror,-Wimplicit-function-declaration - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1882979 13f79535-47bb-0310-9956-ffa450edef68 ---- - build/apr_common.m4 | 3 +++ - build/apr_network.m4 | 15 +++++++++++++++ - configure.in | 6 +++++- - 3 files changed, 23 insertions(+), 1 deletion(-) - ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -495,6 +495,9 @@ AC_CACHE_CHECK([whether return code from - #include - #include - #include -+#ifdef HAVE_STDLIB_H -+#include -+#endif - main() - { - char buf[1024]; ---- a/build/apr_network.m4 -+++ b/build/apr_network.m4 -@@ -63,6 +63,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO] - #ifdef HAVE_SYS_SOCKET_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - - int main(void) { - struct addrinfo hints, *ai; -@@ -151,6 +154,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO] - #ifdef HAVE_NETINET_IN_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - - int main(void) { - struct sockaddr_in sa; -@@ -194,6 +200,9 @@ AC_DEFUN([APR_CHECK_NEGATIVE_EAI], [ - #ifdef HAVE_NETDB_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - - int main(void) { - if (EAI_ADDRFAMILY < 0) { -@@ -403,6 +412,9 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITE - #ifndef HAVE_SOCKLEN_T - typedef int socklen_t; - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - int main(void) { - int listen_s, connected_s, client_s; - int listen_port, rc; -@@ -588,6 +600,9 @@ typedef int socklen_t; - #ifdef HAVE_FCNTL_H - #include - #endif -+#ifdef HAVE_STDLIB_H -+#include -+#endif - int main(void) { - int listen_s, connected_s, client_s; - int listen_port, rc; ---- a/configure.in -+++ b/configure.in -@@ -2208,6 +2208,7 @@ AC_TRY_RUN([ - #include - #include - #include -+#include - main() - { - struct rlimit limit; -@@ -2307,6 +2308,7 @@ if test "$threads" = "1"; then - AC_TRY_RUN([ - #include - #include -+#include - int main() - { - pthread_mutex_t mutex; -@@ -2430,7 +2432,9 @@ AC_TRY_RUN([ - #endif - #include - #include -- -+#ifdef HAVE_STDLIB_H -+#include -+#endif - int fd; - struct flock proc_mutex_lock_it = {0}; - const char *fname = "conftest.fcntl"; diff --git a/libs/apr/patches/000-070-backport-avoid-inclusion-of-confdefs.patch b/libs/apr/patches/000-070-backport-avoid-inclusion-of-confdefs.patch deleted file mode 100644 index 61ab3a1e39..0000000000 --- a/libs/apr/patches/000-070-backport-avoid-inclusion-of-confdefs.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0a763c5e500f4304b7c534fae0fad430d64982e8 -From: Yann Ylavic -Date: Sat, 6 Mar 2021 22:20:59 +0000 -Subject: [PATCH] build/apr_common.m4: avoid explicit inclusion of "confdefs.h" - -The failure is observed on `autoconf-2.69d` (soon to be released -as `autoconf-2.70`). There `int64_t` detection fails as: - -$ autoreconf && ./configure -checking whether int64_t and int use fmt %d... no -checking whether int64_t and long use fmt %ld... no -checking whether int64_t and long long use fmt %lld... no -configure: error: could not determine the string function for int64_t -``` - -This happens because `./configure` always stumbles on warning: - -configure:3350: gcc -c -g -O2 -Werror conftest.c >&5 -In file included from conftest.c:31: -confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror] - 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 - | - -It's triggered by double inclusion of `"confdefs.h"` contents: -explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly -via `AC_LANG_SOURCE` use. - -To fix it and avoid having to define `main()` declaration the change -uses `AC_LANG_PROGRAM` instead. - -Tested on both `autoconf-2.69` and `autoconf-2.69d`. - - -Github: closes #25 -Submitted by: Sergei Trofimovich -Reviewed by: ylavic - - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1887279 13f79535-47bb-0310-9956-ffa450edef68 ---- - build/apr_common.m4 | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -467,13 +467,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( -- [AC_LANG_SOURCE( -- [#include "confdefs.h" -- ] -- [[$1]] -- [int main(int argc, const char *const *argv) {] -+ [AC_LANG_PROGRAM( -+ [[$1]], - [[$2]] -- [ return 0; }] - )], [CFLAGS=$apr_save_CFLAGS - $3], [CFLAGS=$apr_save_CFLAGS - $4]) diff --git a/libs/apr/patches/000-071-backport-fix-APR_TRY_COMPILE_NO_WARNING.patch b/libs/apr/patches/000-071-backport-fix-APR_TRY_COMPILE_NO_WARNING.patch deleted file mode 100644 index 01aae483ad..0000000000 --- a/libs/apr/patches/000-071-backport-fix-APR_TRY_COMPILE_NO_WARNING.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ea9344182b7559b12aa523548bb6d37d0e009028 -From: Yann Ylavic -Date: Wed, 24 Mar 2021 15:02:52 +0000 -Subject: [PATCH] Follow up to r1887279: fix new APR_TRY_COMPILE_NO_WARNING. - -AC_LANG_PROGRAM generates an "int main()" prototype which some compilers warn -about. Restore AC_LANG_SOURCE to manually set the correct main() but do not -#include "confdefs.h" if it is inlined already by AC_LANG_SOURCE (i.e. -check whether PACKAGE_NAME is already defined). - -Github: closes #25 - - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1888017 13f79535-47bb-0310-9956-ffa450edef68 ---- - build/apr_common.m4 | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -467,9 +467,16 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM( -- [[$1]], -+ [AC_LANG_SOURCE( -+ [ -+#ifndef PACKAGE_NAME -+#include "confdefs.h" -+#endif -+ ] -+ [[$1]] -+ [int main(int argc, const char *const *argv) {] - [[$2]] -+ [ return 0; }] - )], [CFLAGS=$apr_save_CFLAGS - $3], [CFLAGS=$apr_save_CFLAGS - $4]) diff --git a/libs/apr/patches/001-cross-compile.patch b/libs/apr/patches/001-cross-compile.patch deleted file mode 100644 index 7fdb952fb9..0000000000 --- a/libs/apr/patches/001-cross-compile.patch +++ /dev/null @@ -1,56 +0,0 @@ -Fix cross-compilation - -Patch was backported from Apache httpd: -http://svn.apache.org/viewvc?view=revision&revision=1327907 -http://svn.apache.org/viewvc?view=revision&revision=1328390 -http://svn.apache.org/viewvc?view=revision&revision=1328714 - -Patch submitted upstream: -https://issues.apache.org/bugzilla/show_bug.cgi?id=57058 - -Signed-off-by: Bernd Kuhls - ---- a/configure.in -+++ b/configure.in -@@ -118,6 +118,16 @@ AC_CANONICAL_SYSTEM - echo "Configuring APR library" - echo "Platform: $host" - -+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless -+dnl we got already CC_FOR_BUILD from environment. -+if test "x${build_alias}" != "x${host_alias}"; then -+ if test "x${CC_FOR_BUILD}" = "x"; then -+ CC_FOR_BUILD=cc -+ fi -+fi -+AC_SUBST(CC_FOR_BUILD) -+AC_SUBST(CFLAGS_FOR_BUILD) -+ - dnl Some initial steps for configuration. We setup the default directory - dnl and which files are to be configured. - ---- a/Makefile.in -+++ b/Makefile.in -@@ -8,6 +8,8 @@ top_blddir=@apr_builddir@ - # APR (Apache Portable Runtime) library Makefile. - # - CPP = @CPP@ -+CC_FOR_BUILD = @CC_FOR_BUILD@ -+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ - - # get substituted into some targets - APR_MAJOR_VERSION=@APR_MAJOR_VERSION@ -@@ -136,8 +138,13 @@ tools/gen_test_char.lo: tools/gen_test_c - $(APR_MKDIR) tools - $(LT_COMPILE) - -+ifdef CC_FOR_BUILD -+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS) -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $< -+else - tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) - $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) -+endif - - include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ - $(APR_MKDIR) include/private diff --git a/libs/apr/patches/002-sys-param-h.patch b/libs/apr/patches/002-sys-param-h.patch deleted file mode 100644 index 220f427fa6..0000000000 --- a/libs/apr/patches/002-sys-param-h.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix PATH_MAX detection by including sys/param.h if available - -Patch sent upstream: -https://bz.apache.org/bugzilla/show_bug.cgi?id=63782 - -Signed-off-by: Bernd Kuhls - ---- a/configure.in -+++ b/configure.in -@@ -1596,6 +1596,7 @@ AC_SUBST(stdlibh) - AC_SUBST(stringh) - AC_SUBST(stringsh) - AC_SUBST(sys_ioctlh) -+AC_SUBST(sys_paramh) - AC_SUBST(sys_sendfileh) - AC_SUBST(sys_signalh) - AC_SUBST(sys_socketh) ---- a/include/apr.h.in -+++ b/include/apr.h.in -@@ -95,6 +95,7 @@ - #define APR_HAVE_STRINGS_H @stringsh@ - #define APR_HAVE_INTTYPES_H @inttypesh@ - #define APR_HAVE_SYS_IOCTL_H @sys_ioctlh@ -+#define APR_HAVE_SYS_PARAM_H @sys_paramh@ - #define APR_HAVE_SYS_SENDFILE_H @sys_sendfileh@ - #define APR_HAVE_SYS_SIGNAL_H @sys_signalh@ - #define APR_HAVE_SYS_SOCKET_H @sys_socketh@ -@@ -218,6 +219,9 @@ - #ifdef __cplusplus - extern "C" { - #endif -+#if APR_HAVE_SYS_PARAM_H -+#include -+#endif - - /** - * @addtogroup apr_platform diff --git a/libs/apr/patches/303-add-cache-for-mmap-zero.patch b/libs/apr/patches/303-add-cache-for-mmap-zero.patch deleted file mode 100644 index 482b99caa9..0000000000 --- a/libs/apr/patches/303-add-cache-for-mmap-zero.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/configure.in -+++ b/configure.in -@@ -1191,8 +1191,9 @@ AC_CHECK_FILE(/dev/zero) - # Not all systems can mmap /dev/zero (such as HP-UX). Check for that. - if test "$ac_cv_func_mmap" = "yes" && - test "$ac_cv_file__dev_zero" = "yes"; then -- AC_MSG_CHECKING(for mmap that can map /dev/zero) -- AC_TRY_RUN([ -+ AC_CACHE_CHECK([for mmap that can map /dev/zero], -+ [ac_cv_mmap__dev_zero], -+ [AC_TRY_RUN([ - #include - #include - #include -@@ -1215,9 +1216,7 @@ if test "$ac_cv_func_mmap" = "yes" && - return 3; - } - return 0; -- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no]) -- -- AC_MSG_RESULT($ac_cv_file__dev_zero) -+ }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])]) - fi - - # Now we determine which one is our anonymous shmem preference. diff --git a/libs/apr/patches/CVE-2021-35940.patch b/libs/apr/patches/CVE-2021-35940.patch deleted file mode 100644 index 49a858aa33..0000000000 --- a/libs/apr/patches/CVE-2021-35940.patch +++ /dev/null @@ -1,49 +0,0 @@ - -SECURITY: CVE-2021-35940 (cve.mitre.org) - -Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though -was addressed in 1.6.x in 1.6.3 and later via r1807976. - -The fix was merged back to 1.7.x in r1891198. - -Since this was a regression in 1.7.0, a new CVE name has been assigned -to track this, CVE-2021-35940. - -Thanks to Iveta Cesalova for reporting this issue. - -https://svn.apache.org/viewvc?view=revision&revision=1891198 - ---- a/time/unix/time.c -+++ b/time/unix/time.c -@@ -142,6 +142,9 @@ APR_DECLARE(apr_status_t) apr_time_exp_g - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - -+ if (xt->tm_mon < 0 || xt->tm_mon >= 12) -+ return APR_EBADDATE; -+ - /* shift new year to 1st March in order to make leap year calc easy */ - - if (xt->tm_mon < 2) ---- a/time/win32/time.c -+++ b/time/win32/time.c -@@ -54,6 +54,9 @@ static void SystemTimeToAprExpTime(apr_t - static const int dayoffset[12] = - {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; - -+ if (tm->wMonth < 1 || tm->wMonth > 12) -+ return APR_EBADDATE; -+ - /* Note; the caller is responsible for filling in detailed tm_usec, - * tm_gmtoff and tm_isdst data when applicable. - */ -@@ -228,6 +231,9 @@ APR_DECLARE(apr_status_t) apr_time_exp_g - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - -+ if (xt->tm_mon < 0 || xt->tm_mon >= 12) -+ return APR_EBADDATE; -+ - /* shift new year to 1st March in order to make leap year calc easy */ - - if (xt->tm_mon < 2)