From 628203491deffcf01ee010152419ced8f549e57e Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 19 Sep 2013 20:11:27 +0200 Subject: src: replace size_t by uint32_t in set/get interfaces This patch breaks the ABI to shrink the size parameter from 8 to 4 bytes in x86_64. The maximum length of netlink attributes is 2 bytes, so 4 bytes as attribute payload length should be enough. After this patch, size_t is only used in the nft_*_snprintf interfaces. Signed-off-by: Pablo Neira Ayuso --- src/expr/data_reg.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/expr/data_reg.c') diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c index 64a6c16..2b9ecee 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c @@ -219,7 +219,7 @@ nft_data_reg_value_snprintf_json(char *buf, size_t size, ret = snprintf(buf, len, "\"data_reg\": { \"type\" : \"value\", "); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, len, "\"len\" : %zd, ", reg->len); + ret = snprintf(buf+offset, len, "\"len\" : %u, ", reg->len); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) { @@ -255,7 +255,7 @@ int nft_data_reg_value_snprintf_xml(char *buf, size_t size, ret = snprintf(buf, len, ""); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, len, "%zd", reg->len); + ret = snprintf(buf+offset, len, "%u", reg->len); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) { @@ -452,7 +452,7 @@ static int __nft_parse_data(union nft_data_reg *data, const struct nlattr *attr) { void *orig = mnl_attr_get_payload(attr); - size_t data_len = mnl_attr_get_payload_len(attr); + uint32_t data_len = mnl_attr_get_payload_len(attr); if (data_len == 0) return -1; -- cgit v1.2.3