Andy Shevchenko pointed out that __uuid_to_bin doesn't need to check
the return value from hex2bin(), because the preceding uuid_is_valid()
check already took care of that.

But hex2bin() is declared __must_check, so checking anyway is the
simplest way to silence the warning.

This cancels a small fraction of the the space savings, but not all:

        vs. previous patch              vs. before patch series
        Before  After   Delta   Percent Orig.   Delta Percent
x86-32  90       96      +6     6.7%    122     -26     -21.3%
x86-64  90       96      +6     6.7%    127     -31     -24.4%
arm     92      104     +12     13.0%   116     -12     -10.3%
thumb   50       62     +12     24.0%   100     -38     -38.0%
arm64   116     124      +8     6.9%    148     -24     -16.2%

Signed-off-by: George Spelvin <li...@sciencehorizons.net>
---
 lib/uuid.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/uuid.c b/lib/uuid.c
index 93945915..1a6dbbd2 100644
--- a/lib/uuid.c
+++ b/lib/uuid.c
@@ -104,7 +104,8 @@ static int __uuid_to_bin(const char uuid[36], __u8 b[16], 
const u8 pos[16])
                return -EINVAL;
 
        for (i = 0; i < 16; i++)
-               hex2bin(b + i, uuid + pos[i], 1);
+               if (hex2bin(b + i, uuid + pos[i], 1) < 0)
+                       return -EINVAL;
 
        return 0;
 }
-- 
2.8.1

Reply via email to