From fe2e8dfe796d522490a40ddc484f1e3c061bb2d4 Mon Sep 17 00:00:00 2001 From: Liviu Chircu Date: Tue, 14 Dec 2021 14:54:55 +0200 Subject: [PATCH] nathelper: Fix bug introduced in ecbd9856efb Credits to Alexey Vasilyev (@vasilevalex) for reviewing the commit and catching the regression! (cherry picked from commit 54bb91a373a2457ad5c5ccc22ab70bd4c83c01d8) --- socket_info.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/socket_info.h b/socket_info.h index d254e615711..f46a7e0b3ff 100644 --- a/socket_info.h +++ b/socket_info.h @@ -421,38 +421,40 @@ static inline char* proto2str(int proto, char *p) return p; } +/* Similar to proto2str(), but proto is written in uppercase. The + new resulting pointer will be returned (where writing ended) */ static inline char* proto2upper(int proto, char *p) { switch (proto) { case PROTO_UDP: - memcpy(p, STR_L("UDP")); + p = memcpy(p, STR_L("UDP")) + sizeof("UDP")-1; break; case PROTO_TCP: - memcpy(p, STR_L("TCP")); + p = memcpy(p, STR_L("TCP")) + sizeof("TCP")-1; break; case PROTO_TLS: - memcpy(p, STR_L("TLS")); + p = memcpy(p, STR_L("TLS")) + sizeof("TLS")-1; break; case PROTO_SCTP: - memcpy(p, STR_L("SCTP")); + p = memcpy(p, STR_L("SCTP")) + sizeof("SCTP")-1; break; case PROTO_WS: - memcpy(p, STR_L("WS")); + p = memcpy(p, STR_L("WS")) + sizeof("WS")-1; break; case PROTO_WSS: - memcpy(p, STR_L("WSS")); + p = memcpy(p, STR_L("WSS")) + sizeof("WSS")-1; break; case PROTO_BIN: - memcpy(p, STR_L("BIN")); + p = memcpy(p, STR_L("BIN")) + sizeof("BIN")-1; break; case PROTO_HEP_UDP: - memcpy(p, STR_L("HEP_UDP")); + p = memcpy(p, STR_L("HEP_UDP")) + sizeof("HEP_UDP")-1; break; case PROTO_HEP_TCP: - memcpy(p, STR_L("HEP_TCP")); + p = memcpy(p, STR_L("HEP_TCP")) + sizeof("HEP_TCP")-1; break; case PROTO_SMPP: - memcpy(p, STR_L("SMPP")); + p = memcpy(p, STR_L("SMPP")) + sizeof("SMPP")-1; break; default: LM_CRIT("unsupported proto %d\n", proto);