From 3b365793c19aff95d1cf9bbea19f138752264d12 Mon Sep 17 00:00:00 2001 From: Christophe Jaillet Date: Tue, 15 Jul 2014 19:09:06 +0000 Subject: [PATCH] fix logic in ap_method_list_(add|remove) in order: - to correctly reset bits - not to modify the 'method_mask' bitfield unnecessarily Also remove a useless 'register' in the declaration of a variable. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610813 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 4 ++++ modules/http/http_protocol.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index ee54b06174..d1b782f47c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) http_protocol: fix logic in ap_method_list_(add|remove) in order: + - to correctly reset bits + - not to modify the 'method_mask' bitfield unnecessarily + *) mod_log_config: Allow three character log formats to be registered. For backwards compatibility, the first character of a three-character format must be the '^' (caret) character. [Eric Covener] diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index fe2cc20879..a7f30fcf98 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -1608,8 +1608,8 @@ AP_DECLARE(void) ap_method_list_add(ap_method_list_t *l, const char *method) * bitmask. */ methnum = ap_method_number_of(method); - l->method_mask |= (AP_METHOD_BIT << methnum); if (methnum != M_INVALID) { + l->method_mask |= (AP_METHOD_BIT << methnum); return; } /* @@ -1641,15 +1641,15 @@ AP_DECLARE(void) ap_method_list_remove(ap_method_list_t *l, * by a module, use the bitmask. */ methnum = ap_method_number_of(method); - l->method_mask |= ~(AP_METHOD_BIT << methnum); if (methnum != M_INVALID) { + l->method_mask &= ~(AP_METHOD_BIT << methnum); return; } /* * Otherwise, see if the method name is in the array of string names. */ if (l->method_list->nelts != 0) { - register int i, j, k; + int i, j, k; methods = (char **)l->method_list->elts; for (i = 0; i < l->method_list->nelts; ) { if (strcmp(method, methods[i]) == 0) { -- 2.40.0