!6 Sync some patches from community
Merge pull request !6 from linwei9/apr
This commit is contained in:
commit
e981d18e2b
53
Bounds-check-human-readable-date-fields-credit-Stefa.patch
Normal file
53
Bounds-check-human-readable-date-fields-credit-Stefa.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From ad958385a4180d7a83d90589689fcd36e3bbc57a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Kew <niq@apache.org>
|
||||||
|
Date: Sun, 10 Sep 2017 22:30:14 +0000
|
||||||
|
Subject: [PATCH] Bounds-check human-readable date fields (credit: Stefan
|
||||||
|
Sperling)
|
||||||
|
|
||||||
|
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1807975 13f79535-47bb-0310-9956-ffa450edef68
|
||||||
|
---
|
||||||
|
time/unix/time.c | 3 +++
|
||||||
|
time/win32/time.c | 6 ++++++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/time/unix/time.c b/time/unix/time.c
|
||||||
|
index dfa45e6..7f09581 100644
|
||||||
|
--- a/time/unix/time.c
|
||||||
|
+++ b/time/unix/time.c
|
||||||
|
@@ -142,6 +142,9 @@ APR_DECLARE(apr_status_t) apr_time_exp_get(apr_time_t *t, apr_time_exp_t *xt)
|
||||||
|
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)
|
||||||
|
diff --git a/time/win32/time.c b/time/win32/time.c
|
||||||
|
index 2349799..1a70544 100644
|
||||||
|
--- a/time/win32/time.c
|
||||||
|
+++ b/time/win32/time.c
|
||||||
|
@@ -54,6 +54,9 @@ static void SystemTimeToAprExpTime(apr_time_exp_t *xt, SYSTEMTIME *tm)
|
||||||
|
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.
|
||||||
|
*/
|
||||||
|
@@ -224,6 +227,9 @@ APR_DECLARE(apr_status_t) apr_time_exp_get(apr_time_t *t,
|
||||||
|
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)
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
49
Follow-up-to-r1675967-trunk-resp.-r1863202-1.7.x.patch
Normal file
49
Follow-up-to-r1675967-trunk-resp.-r1863202-1.7.x.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
From 9032d8c633dbc0f6fe2cd3358f767f088ffbf1ef Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rainer Jung <rjung@apache.org>
|
||||||
|
Date: Wed, 17 Jul 2019 11:31:02 +0000
|
||||||
|
Subject: [PATCH] Follow up to r1675967 (trunk) resp. r1863202 (1.7.x): When
|
||||||
|
pool debugging is enabled, make sure we don't try to emit any debug events
|
||||||
|
after the debug log file handle has been closed.
|
||||||
|
|
||||||
|
Backport of r1675970 from trunk.
|
||||||
|
|
||||||
|
|
||||||
|
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1863203 13f79535-47bb-0310-9956-ffa450edef68
|
||||||
|
---
|
||||||
|
memory/unix/apr_pools.c | 13 +++++++++++++
|
||||||
|
1 file changed, 13 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
|
||||||
|
index 9fdd001..eb173c8 100644
|
||||||
|
--- a/memory/unix/apr_pools.c
|
||||||
|
+++ b/memory/unix/apr_pools.c
|
||||||
|
@@ -636,6 +636,12 @@ static apr_allocator_t *global_allocator = NULL;
|
||||||
|
|
||||||
|
#if (APR_POOL_DEBUG & APR_POOL_DEBUG_VERBOSE_ALL)
|
||||||
|
static apr_file_t *file_stderr = NULL;
|
||||||
|
+static apr_status_t apr_pool_cleanup_file_stderr(void *data)
|
||||||
|
+{
|
||||||
|
+ file_stderr = NULL;
|
||||||
|
+ return APR_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#endif /* (APR_POOL_DEBUG & APR_POOL_DEBUG_VERBOSE_ALL) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -1706,6 +1712,13 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
|
||||||
|
file_stderr = debug_log;
|
||||||
|
|
||||||
|
if (file_stderr) {
|
||||||
|
+ /* Add a cleanup handler that sets the debug log file handle
|
||||||
|
+ * to NULL, otherwise we'll try to log the global pool
|
||||||
|
+ * destruction event with predictably disastrous results. */
|
||||||
|
+ apr_pool_cleanup_register(global_pool, NULL,
|
||||||
|
+ apr_pool_cleanup_file_stderr,
|
||||||
|
+ apr_pool_cleanup_null);
|
||||||
|
+
|
||||||
|
apr_file_printf(file_stderr,
|
||||||
|
"POOL DEBUG: [PID"
|
||||||
|
#if APR_HAS_THREADS
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
50
Register-the-pool-debug-log-cleanup-handler-after-em.patch
Normal file
50
Register-the-pool-debug-log-cleanup-handler-after-em.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From dfce87282409fcb9ca012bcc2db0061183bf91c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rainer Jung <rjung@apache.org>
|
||||||
|
Date: Wed, 17 Jul 2019 11:32:12 +0000
|
||||||
|
Subject: [PATCH] Register the pool debug log cleanup handler after emitting
|
||||||
|
the global pool creation event. This ensures that the allocation event from
|
||||||
|
the cleanup registration written after the creation event.
|
||||||
|
|
||||||
|
Backport of r1675982 from trunk.
|
||||||
|
|
||||||
|
|
||||||
|
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1863204 13f79535-47bb-0310-9956-ffa450edef68
|
||||||
|
---
|
||||||
|
memory/unix/apr_pools.c | 14 +++++++-------
|
||||||
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
|
||||||
|
index eb173c8..a59d9da 100644
|
||||||
|
--- a/memory/unix/apr_pools.c
|
||||||
|
+++ b/memory/unix/apr_pools.c
|
||||||
|
@@ -1712,13 +1712,6 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
|
||||||
|
file_stderr = debug_log;
|
||||||
|
|
||||||
|
if (file_stderr) {
|
||||||
|
- /* Add a cleanup handler that sets the debug log file handle
|
||||||
|
- * to NULL, otherwise we'll try to log the global pool
|
||||||
|
- * destruction event with predictably disastrous results. */
|
||||||
|
- apr_pool_cleanup_register(global_pool, NULL,
|
||||||
|
- apr_pool_cleanup_file_stderr,
|
||||||
|
- apr_pool_cleanup_null);
|
||||||
|
-
|
||||||
|
apr_file_printf(file_stderr,
|
||||||
|
"POOL DEBUG: [PID"
|
||||||
|
#if APR_HAS_THREADS
|
||||||
|
@@ -1728,6 +1721,13 @@ APR_DECLARE(apr_status_t) apr_pool_initialize(void)
|
||||||
|
"POOL \"TAG\" <__FILE__:__LINE__> (ALLOCS/TOTAL ALLOCS/CLEARS)\n");
|
||||||
|
|
||||||
|
apr_pool_log_event(global_pool, "GLOBAL", __FILE__ ":apr_pool_initialize", 0);
|
||||||
|
+
|
||||||
|
+ /* Add a cleanup handler that sets the debug log file handle
|
||||||
|
+ * to NULL, otherwise we'll try to log the global pool
|
||||||
|
+ * destruction event with predictably disastrous results. */
|
||||||
|
+ apr_pool_cleanup_register(global_pool, NULL,
|
||||||
|
+ apr_pool_cleanup_file_stderr,
|
||||||
|
+ apr_pool_cleanup_null);
|
||||||
|
}
|
||||||
|
#endif /* (APR_POOL_DEBUG & APR_POOL_DEBUG_VERBOSE_ALL) */
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
15
apr.spec
15
apr.spec
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: apr
|
Name: apr
|
||||||
Version: 1.7.0
|
Version: 1.7.0
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: Apache Portable Runtime.
|
Summary: Apache Portable Runtime.
|
||||||
License: ASL 2.0 and BSD with advertising and ISC and BSD
|
License: ASL 2.0 and BSD with advertising and ISC and BSD
|
||||||
URL: http://apr.apache.org
|
URL: http://apr.apache.org
|
||||||
@ -11,10 +11,12 @@ Source1: apr-wrapper.h
|
|||||||
|
|
||||||
Patch0: apr-1.2.2-libdir.patch
|
Patch0: apr-1.2.2-libdir.patch
|
||||||
Patch1: apr-1.2.7-pkgconf.patch
|
Patch1: apr-1.2.7-pkgconf.patch
|
||||||
|
Patch2: Split-apr_pool_check_integrity-into-two-parts.patch
|
||||||
Patch6000: Split-apr_pool_check_integrity-into-two-parts.patch
|
Patch3: Pool-debugging-fixes.patch
|
||||||
Patch6001: Pool-debugging-fixes.patch
|
Patch4: Fix-pool-debugging-output-so-that-creation-events-ar.patch
|
||||||
Patch6002: Fix-pool-debugging-output-so-that-creation-events-ar.patch
|
Patch5: memory-unix-apr_pools.c-apr_pool_cleanup_register.patch
|
||||||
|
Patch6: Follow-up-to-r1675967-trunk-resp.-r1863202-1.7.x.patch
|
||||||
|
Patch7: Register-the-pool-debug-log-cleanup-handler-after-em.patch
|
||||||
|
|
||||||
BuildRequires: gcc autoconf libtool libuuid-devel python3 lksctp-tools-devel
|
BuildRequires: gcc autoconf libtool libuuid-devel python3 lksctp-tools-devel
|
||||||
|
|
||||||
@ -98,6 +100,9 @@ make check
|
|||||||
%doc docs/incomplete_types docs/non_apr_programs
|
%doc docs/incomplete_types docs/non_apr_programs
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 29 2020 linwei<linwei54@huawei.com> - 1.7.0-2
|
||||||
|
- sync some patches from community
|
||||||
|
|
||||||
* Mon May 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.7.0-1
|
* Mon May 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.7.0-1
|
||||||
- update to 1.7.0-1
|
- update to 1.7.0-1
|
||||||
|
|
||||||
|
|||||||
33
memory-unix-apr_pools.c-apr_pool_cleanup_register.patch
Normal file
33
memory-unix-apr_pools.c-apr_pool_cleanup_register.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 54bc039ca9781c75b51ad39a01ae79d30efd6f09 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rainer Jung <rjung@apache.org>
|
||||||
|
Date: Wed, 17 Jul 2019 11:15:08 +0000
|
||||||
|
Subject: [PATCH] * memory/unix/apr_pools.c (apr_pool_cleanup_register):
|
||||||
|
[APR_POOL_DEBUG]: Catch NULL arguments which would lead to strange
|
||||||
|
segfaults later.
|
||||||
|
|
||||||
|
Backport of r1082177 from trunk.
|
||||||
|
|
||||||
|
|
||||||
|
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1863198 13f79535-47bb-0310-9956-ffa450edef68
|
||||||
|
---
|
||||||
|
memory/unix/apr_pools.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
|
||||||
|
index 524e9ac..3361f7a 100644
|
||||||
|
--- a/memory/unix/apr_pools.c
|
||||||
|
+++ b/memory/unix/apr_pools.c
|
||||||
|
@@ -2484,6 +2484,10 @@ APR_DECLARE(void) apr_pool_cleanup_register(apr_pool_t *p, const void *data,
|
||||||
|
|
||||||
|
#if APR_POOL_DEBUG
|
||||||
|
apr_pool_check_integrity(p);
|
||||||
|
+
|
||||||
|
+ if (!p || !plain_cleanup_fn || !child_cleanup_fn) {
|
||||||
|
+ abort();
|
||||||
|
+ }
|
||||||
|
#endif /* APR_POOL_DEBUG */
|
||||||
|
|
||||||
|
if (p != NULL) {
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user