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/+/1283?usp=email
to review the following change.
Change subject: push_util: Fix conversion warnings
......................................................................
push_util: Fix conversion warnings
Mostly just use better types.
Change-Id: I4113d14c6ce33818573b0ca5857a9ab39b35a8f4
Signed-off-by: Frank Lichtenheld <[email protected]>
---
M src/openvpn/push_util.c
1 file changed, 15 insertions(+), 24 deletions(-)
git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/83/1283/1
diff --git a/src/openvpn/push_util.c b/src/openvpn/push_util.c
index 06b4c8b..8c1a503 100644
--- a/src/openvpn/push_util.c
+++ b/src/openvpn/push_util.c
@@ -10,18 +10,13 @@
#include "ssl_util.h"
#endif
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
-
int
process_incoming_push_update(struct context *c, unsigned int permission_mask,
unsigned int *option_types_found, struct buffer
*buf,
bool msg_sender)
{
int ret = PUSH_MSG_ERROR;
- const uint8_t ch = buf_read_u8(buf);
+ const int ch = buf_read_u8(buf);
if (ch == ',')
{
if (apply_push_options(c, &c->options, buf, permission_mask,
option_types_found, c->c2.es,
@@ -57,8 +52,8 @@
* Return index of last `,` or `0` if it didn't find any.
* If there is a comma at index `0` it's an error anyway
*/
-static int
-find_first_comma_of_next_bundle(const char *str, int ix)
+static size_t
+find_first_comma_of_next_bundle(const char *str, size_t ix)
{
while (ix > 0)
{
@@ -75,8 +70,8 @@
static struct buffer
forge_msg(const char *src, const char *continuation, struct gc_arena *gc)
{
- int src_len = strlen(src);
- int con_len = continuation ? strlen(continuation) : 0;
+ size_t src_len = strlen(src);
+ size_t con_len = continuation ? strlen(continuation) : 0;
struct buffer buf = alloc_buf_gc(src_len + sizeof(push_update_cmd) +
con_len + 2, gc);
buf_printf(&buf, "%s,%s%s", push_update_cmd, src, continuation ?
continuation : "");
@@ -93,11 +88,11 @@
return ret;
}
-/* It split the messagge (if necessay) and fill msgs with the message chunks.
+/* It split the messagge (if necessary) and fill msgs with the message chunks.
* Return `false` on failure an `true` on success.
*/
static bool
-message_splitter(const char *s, struct buffer *msgs, struct gc_arena *gc,
const int safe_cap)
+message_splitter(const char *s, struct buffer *msgs, struct gc_arena *gc,
const size_t safe_cap)
{
if (!s || !*s)
{
@@ -105,7 +100,7 @@
}
char *str = gc_strdup(s, gc);
- int i = 0;
+ size_t i = 0;
int im = 0;
while (*str)
@@ -113,7 +108,7 @@
/* + ',' - '/0' */
if (strlen(str) > safe_cap)
{
- int ci = find_first_comma_of_next_bundle(str, safe_cap);
+ size_t ci = find_first_comma_of_next_bundle(str, safe_cap);
if (!ci)
{
/* if no commas were found go to fail, do not send any message
*/
@@ -219,7 +214,7 @@
* @return The number of clients to which the message was sent. Might return <
0 in case of error.
*/
static int
-send_push_update(struct multi_context *m, const void *target, const char *msg,
const push_update_type type, const int push_bundle_size)
+send_push_update(struct multi_context *m, const void *target, const char *msg,
const push_update_type type, const size_t push_bundle_size)
{
if (dco_enabled(&m->top.options))
{
@@ -228,19 +223,19 @@
return 0;
}
- if (!msg || !*msg || !m
- || (!target && type != UPT_BROADCAST))
+ if (!msg || !*msg || !m || (!target && type != UPT_BROADCAST))
{
return -EINVAL;
}
struct gc_arena gc = gc_new();
/* extra space for possible trailing ifconfig and push-continuation */
- const int extra = 84 + sizeof(push_update_cmd);
+ const size_t extra = 84 + sizeof(push_update_cmd);
/* push_bundle_size is the maximum size of a message, so if the message
* we want to send exceeds that size we have to split it into smaller
messages */
- const int safe_cap = push_bundle_size - extra;
- int msgs_num = (strlen(msg) / safe_cap) + ((strlen(msg) % safe_cap) != 0);
+ ASSERT(push_bundle_size > extra);
+ const size_t safe_cap = push_bundle_size - extra;
+ size_t msgs_num = (strlen(msg) / safe_cap) + ((strlen(msg) % safe_cap) !=
0);
struct buffer *msgs = gc_malloc((msgs_num + 1) * sizeof(struct buffer),
true, &gc);
unsigned int option_types_found = 0;
@@ -354,7 +349,3 @@
RETURN_UPDATE_STATUS(n_sent);
}
#endif /* ifdef ENABLE_MANAGEMENT */
-
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic pop
-#endif
--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1283?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: I4113d14c6ce33818573b0ca5857a9ab39b35a8f4
Gerrit-Change-Number: 1283
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