From 54343a260e3aa4bceca1852dde31cd08e2abd82b Mon Sep 17 00:00:00 2001 From: "deraadt@openbsd.org" Date: Tue, 2 Apr 2024 12:22:38 +0000 Subject: [PATCH] upstream: Oops, incorrect hex conversion spotted by claudio. While here try to improve how it reads a bit better. Surprising the regression tests didn't spot this error, maybe it fails to roundtrip the values. OpenBSD-Commit-ID: 866cfcc1955aef8f3fc32da0b70c353a1b859f2e --- ssh-pkcs11.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index de2dbba56..1e76e8b2b 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.61 2024/04/02 09:48:24 claudio Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.62 2024/04/02 12:22:38 deraadt Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -1389,14 +1389,13 @@ static int h2i(char c) { if (c >= '0' && c <= '9') - c -= '0'; + return c - '0'; else if (c >= 'a' && c <= 'f') - c -= 'a'; + return c - 'a' + 10; else if (c >= 'A' && c <= 'F') - c -= 'A'; + return c - 'A' + 10; else return -1; - return c; } static int