diff options
author | Petr Štetiar <ynezz@true.cz> | 2019-10-04 16:56:12 +0200 |
---|---|---|
committer | rofl0r <rofl0r@users.noreply.github.com> | 2022-09-16 01:27:56 +0000 |
commit | 0aeb127f3cfe4abbc9a894c236541467396ed5ff (patch) | |
tree | 84cb32664810642e8edc2ddd7f6b3ed60ba452df | |
parent | 31e166fa8130bef975f85d2c83f69e0619f3289a (diff) | |
download | libnl-tiny-0aeb127f3cfe4abbc9a894c236541467396ed5ff.tar.gz |
iron out all extra compiler warnings
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@true.cz>
-rw-r--r-- | attr.c | 6 | ||||
-rw-r--r-- | genl.c | 2 | ||||
-rw-r--r-- | genl_mngt.c | 2 | ||||
-rw-r--r-- | msg.c | 8 | ||||
-rw-r--r-- | nl.c | 4 |
5 files changed, 13 insertions, 9 deletions
@@ -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; } /** @@ -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 246521f..3b603c7 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; } @@ -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; @@ -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 |