From 7bacfe38b61584a6d79751da8ce068347e07e6a7 Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Sun, 19 Mar 2017 08:22:05 -0400 Subject: [PATCH] tmem: Parse UUIDs correctly. A simple xl tmem-shared-auth -u 00000000-0000-000A-0000-000000000001 -A 0 0 resulted in uuid_low = 1 (correct) and uuid_high = 0 (umm?). The issue was that for hex values above 'A' (or 'a') we forgot to add 10. Acked-by: Wei Liu Signed-off-by: Konrad Rzeszutek Wilk --- tools/libxc/xc_tmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/libxc/xc_tmem.c b/tools/libxc/xc_tmem.c index 5f5e18fcff..9bf5cc3cf4 100644 --- a/tools/libxc/xc_tmem.c +++ b/tools/libxc/xc_tmem.c @@ -138,9 +138,9 @@ static int xc_tmem_uuid_parse(char *uuid_str, uint64_t *uuid_lo, uint64_t *uuid_ else if ( *p >= '0' && *p <= '9' ) digit = *p - '0'; else if ( *p >= 'A' && *p <= 'F' ) - digit = *p - 'A'; + digit = *p - 'A' + 10; else if ( *p >= 'a' && *p <= 'f' ) - digit = *p - 'a'; + digit = *p - 'a' + 10; else return -1; *x = (*x << 4) | digit; -- 2.39.5