cron2 has submitted this change. ( http://gerrit.openvpn.net/c/openvpn/+/1300?usp=email )
Change subject: ssl: Clean up type handling in write_string() ...................................................................... ssl: Clean up type handling in write_string() Make better checks for the maxlen input value. Change-Id: I3309265edf8d6bea7bd73b21eef589a92ede6e0a Signed-off-by: Frank Lichtenheld <[email protected]> Acked-by: Gert Doering <[email protected]> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1300 Message-Id: <[email protected]> URL: https://www.mail-archive.com/[email protected]/msg34191.html Signed-off-by: Gert Doering <[email protected]> --- M src/openvpn/ssl.c 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c index 92a68d0..22a1f52 100644 --- a/src/openvpn/ssl.c +++ b/src/openvpn/ssl.c @@ -1780,20 +1780,16 @@ return true; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - static bool write_string(struct buffer *buf, const char *str, const int maxlen) { - const int len = strlen(str) + 1; - if (len < 1 || (maxlen >= 0 && len > maxlen)) + const size_t len = strlen(str) + 1; + const size_t real_maxlen = (maxlen >= 0 && maxlen <= UINT16_MAX) ? (size_t)maxlen : UINT16_MAX; + if (len > real_maxlen) { return false; } - if (!buf_write_u16(buf, len)) + if (!buf_write_u16(buf, (uint16_t)len)) { return false; } @@ -1833,6 +1829,11 @@ return len; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + static char * read_string_alloc(struct buffer *buf) { -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/1300?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: I3309265edf8d6bea7bd73b21eef589a92ede6e0a Gerrit-Change-Number: 1300 Gerrit-PatchSet: 7 Gerrit-Owner: flichtenheld <[email protected]> Gerrit-Reviewer: cron2 <[email protected]> Gerrit-Reviewer: plaisthos <[email protected]> Gerrit-CC: openvpn-devel <[email protected]>
_______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
