fix setting and comparison of IPs fileds avoid voerflow in case of indecently large session make ap_escape_quotes() work correctly fix lua_request with cast first Handle children killed pathologically q
48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
From 1fa621fafde4cc73bdc887b94c0a8b7dade2162b Mon Sep 17 00:00:00 2001
|
|
From: icing <icing@eissing.org>
|
|
Date: Tue May 17 13:32:43 2022 UTC
|
|
Subject: [PATCH] mod_heartmonitor:fix setting and comparsion of IPs fields
|
|
|
|
Conflict:NA
|
|
Reference:https://github.com/apache/httpd/commit/1fa621fafde4cc73bdc887b94c0a8b7dade2162b
|
|
|
|
---
|
|
modules/cluster/mod_heartmonitor.c | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/modules/cluster/mod_heartmonitor.c b/modules/cluster/mod_heartmonitor.c
|
|
index bfda7f8..30db11a 100644
|
|
--- a/modules/cluster/mod_heartmonitor.c
|
|
+++ b/modules/cluster/mod_heartmonitor.c
|
|
@@ -171,7 +171,7 @@ static apr_status_t hm_update(void* mem, void *data, apr_pool_t *p)
|
|
hm_slot_server_t *old = (hm_slot_server_t *) mem;
|
|
hm_slot_server_ctx_t *s = (hm_slot_server_ctx_t *) data;
|
|
hm_server_t *new = s->s;
|
|
- if (strncmp(old->ip, new->ip, MAXIPSIZE)==0) {
|
|
+ if (strcmp(old->ip, new->ip)==0) {
|
|
s->found = 1;
|
|
old->busy = new->busy;
|
|
old->ready = new->ready;
|
|
@@ -185,7 +185,7 @@ static apr_status_t hm_readid(void* mem, void *data, apr_pool_t *p)
|
|
hm_slot_server_t *old = (hm_slot_server_t *) mem;
|
|
hm_slot_server_ctx_t *s = (hm_slot_server_ctx_t *) data;
|
|
hm_server_t *new = s->s;
|
|
- if (strncmp(old->ip, new->ip, MAXIPSIZE)==0) {
|
|
+ if (strcmp(old->ip, new->ip)==0) {
|
|
s->found = 1;
|
|
s->item_id = old->id;
|
|
}
|
|
@@ -202,7 +202,8 @@ static apr_status_t hm_slotmem_update_stat(hm_server_t *s, apr_pool_t *pool)
|
|
if (!ctx.found) {
|
|
unsigned int i;
|
|
hm_slot_server_t hmserver;
|
|
- memcpy(hmserver.ip, s->ip, MAXIPSIZE);
|
|
+ memset(&hmserver, 0, sizeof(hmserver));
|
|
+ apr_cpystrn(hmserver.ip, s->ip, sizeof(hmserver.ip));
|
|
hmserver.busy = s->busy;
|
|
hmserver.ready = s->ready;
|
|
hmserver.seen = s->seen;
|
|
--
|
|
2.23.0
|
|
|