This is an automated email from the ASF dual-hosted git repository. ChristopherSchultz pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat-connectors.git
commit 730680fbbaeea97162537422c536f7391d6fb0f3 Author: Christopher Schultz <[email protected]> AuthorDate: Mon Jun 8 16:28:44 2026 -0400 Make macro definition a little safer --- native/common/jk_map.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/native/common/jk_map.c b/native/common/jk_map.c index 116efd868..812c04853 100644 --- a/native/common/jk_map.c +++ b/native/common/jk_map.c @@ -74,13 +74,13 @@ * -- Ralf S. Engelschall <[email protected]> */ #define COMPUTE_KEY_HASH(key, hash) \ -{ \ - const unsigned char *p; \ - hash = 0; \ - for (p = (const unsigned char *)key; *p; p++) { \ - hash = hash * 33 + *p; \ - } \ -} +do { \ + const unsigned char *p; \ + (hash) = 0u; \ + for (p = (const unsigned char *)(key); *p; p++) { \ + (hash) = (hash) * 33u + *p; \ + } \ +} while(0) static volatile int global_map_id = 0; static void trim_prp_comment(char *prp); @@ -149,7 +149,7 @@ void *jk_map_get(jk_map_t *m, const char *name, const void *def) if (m && name) { unsigned int i; unsigned int hash; - COMPUTE_KEY_HASH(name, hash) + COMPUTE_KEY_HASH(name, hash); for (i = 0; i < m->size; i++) { if (m->keys[i] == hash && strcmp(m->names[i], name) == 0) { rc = m->values[i]; @@ -167,7 +167,7 @@ int jk_map_get_id(jk_map_t *m, const char *name) if (m && name) { unsigned int i; unsigned int hash; - COMPUTE_KEY_HASH(name, hash) + COMPUTE_KEY_HASH(name, hash); for (i = 0; i < m->size; i++) { if (m->keys[i] == hash && strcmp(m->names[i], name) == 0) { rc = i; @@ -186,7 +186,7 @@ const char *jk_map_get_string(jk_map_t *m, const char *name, const char *def) if (m && name) { unsigned int i; unsigned int hash; - COMPUTE_KEY_HASH(name, hash) + COMPUTE_KEY_HASH(name, hash); for (i = 0; i < m->size; i++) { if (m->keys[i] == hash && strcmp(m->names[i], name) == 0) { rc = m->values[i]; @@ -376,7 +376,7 @@ int jk_map_add(jk_map_t *m, const char *name, const void *value) if (m && name) { unsigned int hash; - COMPUTE_KEY_HASH(name, hash) + COMPUTE_KEY_HASH(name, hash); map_realloc(m); if (m->size < m->capacity) { @@ -398,7 +398,7 @@ int jk_map_put(jk_map_t *m, const char *name, const void *value, void **old) if (m && name) { unsigned int i; unsigned int hash; - COMPUTE_KEY_HASH(name, hash) + COMPUTE_KEY_HASH(name, hash); for (i = 0; i < m->size; i++) { if (m->keys[i] == hash && strcmp(m->names[i], name) == 0) { break; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
