Attention is currently required from: plaisthos.
Hello plaisthos,
I'd like you to do a code review.
Please visit
http://gerrit.openvpn.net/c/openvpn/+/1300?usp=email
to review the following change.
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]>
---
M src/openvpn/ssl.c
1 file changed, 9 insertions(+), 8 deletions(-)
git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/00/1300/1
diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c
index 925c5af..39abb59 100644
--- a/src/openvpn/ssl.c
+++ b/src/openvpn/ssl.c
@@ -1781,20 +1781,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 < 2 || len > real_maxlen)
{
return false;
}
- if (!buf_write_u16(buf, len))
+ if (!buf_write_u16(buf, (uint16_t)len))
{
return false;
}
@@ -1834,6 +1830,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: newchange
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I3309265edf8d6bea7bd73b21eef589a92ede6e0a
Gerrit-Change-Number: 1300
Gerrit-PatchSet: 1
Gerrit-Owner: flichtenheld <[email protected]>
Gerrit-Reviewer: plaisthos <[email protected]>
Gerrit-CC: openvpn-devel <[email protected]>
Gerrit-Attention: plaisthos <[email protected]>
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel