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/+/1142?usp=email
to review the following change.
Change subject: buffer: Clarify usage of char_class
......................................................................
buffer: Clarify usage of char_class
Silence compiler warnings due to conversion from
char to unsigned char. In this case we actually
depend on this conversion.
Change-Id: I73bc163d48b2d6a954cd231961826f33143fcd12
Signed-off-by: Frank Lichtenheld <fr...@li...>
---
M src/openvpn/buffer.c
1 file changed, 11 insertions(+), 2 deletions(-)
git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/42/1142/1
diff --git a/src/openvpn/buffer.c b/src/openvpn/buffer.c
index 3dd8b31..ca2e3aa 100644
--- a/src/openvpn/buffer.c
+++ b/src/openvpn/buffer.c
@@ -560,7 +560,7 @@
{
break;
}
- if (char_class(*last, CC_CRLF | CC_NULL))
+ if (char_class((unsigned char)*last, CC_CRLF | CC_NULL))
{
if (!buf_inc_len(buf, -1))
{
@@ -872,6 +872,14 @@
* Classify and mutate strings based on character types.
*/
+/* Note 1: This functions depends on getting an unsigned
+ char. Both the is*() functions and our own checks expect it
+ this way.
+ Note 2: For CC_PRINT we just accept everything >= 32, so
+ if we ingest non-ASCII UTF-8 we will classify it as
+ printable since it will be >= 128. Other encodings are
+ not officially supported.
+*/
bool
char_class(const unsigned char c, const unsigned int flags)
{
@@ -1015,7 +1023,8 @@
static inline bool
char_inc_exc(const char c, const unsigned int inclusive, const unsigned int exclusive)
{
- return char_class(c, inclusive) && !char_class(c, exclusive);
+ return char_class((unsigned char)c, inclusive)
+ && !char_class((unsigned char)c, exclusive);
}
bool
--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1142?usp=email
To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I73bc163d48b2d6a954cd231961826f33143fcd12
Gerrit-Change-Number: 1142
Gerrit-PatchSet: 1
Gerrit-Owner: flichtenheld <fr...@li...>
Gerrit-Reviewer: plaisthos <arn...@rf...>
Gerrit-CC: openvpn-devel <ope...@li...>
Gerrit-Attention: plaisthos <arn...@rf...>
Gerrit-MessageType: newchange
|