From: Frank Lichtenheld Date: Fri, 12 Jun 2026 11:04:17 +0000 (+0200) Subject: mbuf: Fix conversion warnings in mbuf and related code X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=334938d4aba45bf4dde063f8f8d2c6022edf2a13;p=thirdparty%2Fopenvpn.git mbuf: Fix conversion warnings in mbuf and related code Mostly these were actually hidden by casts, but fix them as well by using more fitting types. Change-Id: I1d4e0233cf1cb09725dbd2caa121acdbf62f0452 Signed-off-by: Frank Lichtenheld Acked-by: Gert Doering Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1433 Message-Id: <20260612110424.27033-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg37182.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/buffer.c b/src/openvpn/buffer.c index 1e19137e3..5f2b2338e 100644 --- a/src/openvpn/buffer.c +++ b/src/openvpn/buffer.c @@ -43,7 +43,7 @@ array_mult_safe(const size_t m1, const size_t m2, const size_t extra) unsigned long long res = (unsigned long long)m1 * (unsigned long long)m2 + (unsigned long long)extra; if (unlikely(m1 > limit) || unlikely(m2 > limit) || unlikely(extra > limit) - || unlikely(res > (unsigned long long)limit)) + || unlikely(res > limit)) { msg(M_FATAL, "attempted allocation of excessively large array"); } diff --git a/src/openvpn/mbuf.c b/src/openvpn/mbuf.c index 5e1b58565..7b790ed65 100644 --- a/src/openvpn/mbuf.c +++ b/src/openvpn/mbuf.c @@ -34,11 +34,6 @@ #include "memdbg.h" -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - struct mbuf_set * mbuf_init(unsigned int size) { @@ -46,22 +41,17 @@ mbuf_init(unsigned int size) struct mbuf_set *ret; ALLOC_OBJ_CLEAR(ret, struct mbuf_set); - ret->capacity = adjust_power_of_2(size); + ret->capacity = (unsigned int)adjust_power_of_2(size); ALLOC_ARRAY(ret->array, struct mbuf_item, ret->capacity); return ret; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic pop -#endif - void mbuf_free(struct mbuf_set *ms) { if (ms) { - int i; - for (i = 0; i < (int)ms->len; ++i) + for (unsigned int i = 0; i < ms->len; ++i) { struct mbuf_item *item = &ms->array[MBUF_INDEX(ms->head, i, ms->capacity)]; mbuf_free_buf(item->buffer); @@ -145,8 +135,7 @@ mbuf_peek_dowork(struct mbuf_set *ms) struct multi_instance *ret = NULL; if (ms) { - int i; - for (i = 0; i < (int)ms->len; ++i) + for (unsigned int i = 0; i < ms->len; ++i) { struct mbuf_item *item = &ms->array[MBUF_INDEX(ms->head, i, ms->capacity)]; if (item->instance) @@ -164,8 +153,7 @@ mbuf_dereference_instance(struct mbuf_set *ms, struct multi_instance *mi) { if (ms) { - int i; - for (i = 0; i < (int)ms->len; ++i) + for (unsigned int i = 0; i < ms->len; ++i) { struct mbuf_item *item = &ms->array[MBUF_INDEX(ms->head, i, ms->capacity)]; if (item->instance == mi)