提交 1bd963a7 编写于 作者: A Alexey Dobriyan 提交者: Steffen Klassert

xfrm: make xfrm_alg_auth_len() return unsigned int

Key lengths can't be negative.

Comparison with nla_len() is left signed just in case negative value
can sneak in there.
Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: NSteffen Klassert <steffen.klassert@secunet.com>
上级 06cd22f8
...@@ -1774,7 +1774,7 @@ static inline unsigned int xfrm_alg_len(const struct xfrm_algo *alg) ...@@ -1774,7 +1774,7 @@ static inline unsigned int xfrm_alg_len(const struct xfrm_algo *alg)
return sizeof(*alg) + ((alg->alg_key_len + 7) / 8); return sizeof(*alg) + ((alg->alg_key_len + 7) / 8);
} }
static inline int xfrm_alg_auth_len(const struct xfrm_algo_auth *alg) static inline unsigned int xfrm_alg_auth_len(const struct xfrm_algo_auth *alg)
{ {
return sizeof(*alg) + ((alg->alg_key_len + 7) / 8); return sizeof(*alg) + ((alg->alg_key_len + 7) / 8);
} }
......
...@@ -68,7 +68,7 @@ static int verify_auth_trunc(struct nlattr **attrs) ...@@ -68,7 +68,7 @@ static int verify_auth_trunc(struct nlattr **attrs)
return 0; return 0;
algp = nla_data(rt); algp = nla_data(rt);
if (nla_len(rt) < xfrm_alg_auth_len(algp)) if (nla_len(rt) < (int)xfrm_alg_auth_len(algp))
return -EINVAL; return -EINVAL;
algp->alg_name[sizeof(algp->alg_name) - 1] = '\0'; algp->alg_name[sizeof(algp->alg_name) - 1] = '\0';
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册