[OpenWrt-Devel] [PATCH libnl-tiny 4/5] iron out all extra compiler warnings
Petr Štetiar
ynezz at true.cz
Mon Oct 21 05:36:41 EDT 2019
gcc 9.1 on x86/64 has reported following:
attr.c:403:19: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare]
genl.c:154:24: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
genl_mngt.c:157:22: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare]
msg.c:190:20: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare]
msg.c:192:18: error: comparison of integer expressions of different signedness: ‘__u32’ {aka ‘const unsigned int’} and ‘int’ [-Werror=sign-compare]
msg.c:361:10: error: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Werror=sign-compare]
nl.c:428:18: error: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Werror=sign-compare]
nl.c:602:23: error: comparison of integer expressions of different signedness: ‘__u32’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
Signed-off-by: Petr Štetiar <ynezz at true.cz>
---
attr.c | 6 ++++--
genl.c | 2 +-
genl_mngt.c | 2 +-
msg.c | 8 +++++---
nl.c | 4 ++--
5 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/attr.c b/attr.c
index e0f50611cff9..eae91e52bcac 100644
--- a/attr.c
+++ b/attr.c
@@ -400,9 +400,11 @@
*/
int nla_ok(const struct nlattr *nla, int remaining)
{
- return remaining >= sizeof(*nla) &&
+ size_t r = remaining;
+
+ return r >= sizeof(*nla) &&
nla->nla_len >= sizeof(*nla) &&
- nla->nla_len <= remaining;
+ nla->nla_len <= r;
}
/**
diff --git a/genl.c b/genl.c
index 055be919e1d3..f1df3f060c87 100644
--- a/genl.c
+++ b/genl.c
@@ -151,7 +151,7 @@ int genlmsg_valid_hdr(struct nlmsghdr *nlh, int hdrlen)
return 0;
ghdr = nlmsg_data(nlh);
- if (genlmsg_len(ghdr) < NLMSG_ALIGN(hdrlen))
+ if ((unsigned) genlmsg_len(ghdr) < NLMSG_ALIGN(hdrlen))
return 0;
return 1;
diff --git a/genl_mngt.c b/genl_mngt.c
index 246521f696a2..3b603c7ac9bb 100644
--- a/genl_mngt.c
+++ b/genl_mngt.c
@@ -154,7 +154,7 @@ int genl_register(struct nl_cache_ops *ops)
goto errout;
}
- if (ops->co_hdrsize < GENL_HDRSIZE(0)) {
+ if ((size_t) ops->co_hdrsize < GENL_HDRSIZE(0)) {
err = -NLE_INVAL;
goto errout;
}
diff --git a/msg.c b/msg.c
index b502047c4c74..5992e381813b 100644
--- a/msg.c
+++ b/msg.c
@@ -187,9 +187,11 @@ static size_t default_msg_size = 4096;
*/
int nlmsg_ok(const struct nlmsghdr *nlh, int remaining)
{
- return (remaining >= sizeof(struct nlmsghdr) &&
+ size_t r = remaining;
+
+ return (r >= sizeof(struct nlmsghdr) &&
nlh->nlmsg_len >= sizeof(struct nlmsghdr) &&
- nlh->nlmsg_len <= remaining);
+ nlh->nlmsg_len <= r);
}
/**
@@ -358,7 +360,7 @@ struct nl_msg *nlmsg_alloc_simple(int nlmsgtype, int flags)
*/
void nlmsg_set_default_size(size_t max)
{
- if (max < nlmsg_total_size(0))
+ if (max < (size_t) nlmsg_total_size(0))
max = nlmsg_total_size(0);
default_msg_size = max;
diff --git a/nl.c b/nl.c
index 2fb866eca903..2649470f542f 100644
--- a/nl.c
+++ b/nl.c
@@ -425,7 +425,7 @@ retry:
}
}
- if (iov.iov_len < n ||
+ if (iov.iov_len < (size_t) n ||
msg.msg_flags & MSG_TRUNC) {
/* Provided buffer is not long enough, enlarge it
* and try again. */
@@ -599,7 +599,7 @@ continue_reading:
else if (hdr->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *e = nlmsg_data(hdr);
- if (hdr->nlmsg_len < nlmsg_msg_size(sizeof(*e))) {
+ if (hdr->nlmsg_len < (unsigned) nlmsg_msg_size(sizeof(*e))) {
/* Truncated error message, the default action
* is to stop parsing. The user may overrule
* this action by returning NL_SKIP or
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list