From b19829eaf45e607ad415514dddd0d6f37b68090d Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sun, 25 Dec 2016 01:31:49 +0000 Subject: [PATCH] netlink: change size types from unsigned long to kernel_ureg_t * defs.h (decode_netlink): Change len argument type from unsigned long to kernel_ureg_t. * netlink.c (fetch_nlmsghdr): Likewise. (decode_nlmsghdr_with_payload): Likewise. Change nlmsg_len variable type from unsigned long to unsigned int. (decode_netlink): Change the type of len argument and next_len variable from unsigned long to kernel_ureg_t. Change nlmsg_len variable type from unsigned long to unsigned int. --- defs.h | 2 +- netlink.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/defs.h b/defs.h index 138afeea..56f52fed 100644 --- a/defs.h +++ b/defs.h @@ -693,7 +693,7 @@ tprint_iov_upto(struct tcb *, kernel_ureg_t len, kernel_ureg_t addr, enum iov_decode, kernel_ureg_t data_size); extern void -decode_netlink(struct tcb *, kernel_ureg_t addr, unsigned long len); +decode_netlink(struct tcb *, kernel_ureg_t addr, kernel_ureg_t len); extern void tprint_open_modes(unsigned int); extern const char *sprint_open_modes(unsigned int); diff --git a/netlink.c b/netlink.c index 13ff1c55..46bfb177 100644 --- a/netlink.c +++ b/netlink.c @@ -37,7 +37,7 @@ */ static bool fetch_nlmsghdr(struct tcb *const tcp, struct nlmsghdr *const nlmsghdr, - const kernel_ureg_t addr, const unsigned long len) + const kernel_ureg_t addr, const kernel_ureg_t len) { if (len < sizeof(struct nlmsghdr)) { printstrn(tcp, addr, len); @@ -70,26 +70,26 @@ static void decode_nlmsghdr_with_payload(struct tcb *const tcp, const struct nlmsghdr *const nlmsghdr, const kernel_ureg_t addr, - const unsigned long len) + const kernel_ureg_t len) { tprints("{"); print_nlmsghdr(tcp, nlmsghdr); - unsigned long nlmsg_len = + unsigned int nlmsg_len = nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len; if (nlmsg_len > sizeof(struct nlmsghdr)) { tprints(", "); printstrn(tcp, addr + sizeof(struct nlmsghdr), - nlmsg_len - sizeof(struct nlmsghdr)); + nlmsg_len - sizeof(struct nlmsghdr)); } tprints("}"); } void -decode_netlink(struct tcb *const tcp, kernel_ureg_t addr, unsigned long len) +decode_netlink(struct tcb *const tcp, kernel_ureg_t addr, kernel_ureg_t len) { struct nlmsghdr nlmsghdr; bool print_array = false; @@ -101,9 +101,9 @@ decode_netlink(struct tcb *const tcp, kernel_ureg_t addr, unsigned long len) break; } - unsigned long nlmsg_len = NLMSG_ALIGN(nlmsghdr.nlmsg_len); + unsigned int nlmsg_len = NLMSG_ALIGN(nlmsghdr.nlmsg_len); kernel_ureg_t next_addr = 0; - unsigned long next_len = 0; + kernel_ureg_t next_len = 0; if (nlmsghdr.nlmsg_len >= sizeof(struct nlmsghdr)) { next_len = (len >= nlmsg_len) ? len - nlmsg_len : 0; -- 2.40.0