]> granicus.if.org Git - strace/commitdiff
netlink: change size types from unsigned long to kernel_ureg_t
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 25 Dec 2016 01:31:49 +0000 (01:31 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 25 Dec 2016 11:32:46 +0000 (11:32 +0000)
* 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
netlink.c

diff --git a/defs.h b/defs.h
index 138afeea8dc87a10ded936701c5469393b00c47b..56f52fed5a18cb6f185a78d1e11a89891d656f3c 100644 (file)
--- 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);
index 13ff1c55343161799cbb5924abb9feb7973aa705..46bfb1776fa1e7c5ff3bc69013b67f92fcc3b516 100644 (file)
--- 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;