From 24c9623f563646695f6d219b2414b23f36378b42 Mon Sep 17 00:00:00 2001 From: shenxiangwei Date: Fri, 19 Aug 2022 12:05:11 +0800 Subject: [PATCH] fix caps parameter cannot be parsed Signed-off-by: shenxiangwei Signed-off-by: zhoushuiqing --- src/evmctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/evmctl.c b/src/evmctl.c index 70d07a5..19175b8 100644 --- a/src/evmctl.c +++ b/src/evmctl.c @@ -472,14 +472,14 @@ static int calc_evm_hash(const char *file, unsigned char *hash) } else if (!strcmp(*xattrname, XATTR_NAME_CAPS) && (hmac_flags & HMAC_FLAG_CAPS_SET)) { if (!caps_str) continue; - err = strlen(caps_str); + hex2bin(xattr_value, caps_str, strlen(caps_str) >> 1); + err = strlen(caps_str) >> 1; if (err >= sizeof(xattr_value)) { log_err("caps[%u] value is too long to fit into xattr[%zu]\n", err + 1, sizeof(xattr_value)); err = -1; goto out; } - strcpy(xattr_value, caps_str); } else { err = lgetxattr(file, *xattrname, xattr_value, sizeof(xattr_value)); if (err < 0) { -- 2.33.0