]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/tls: fix a bug that caused empty base64 pins
authorVladimír Čunát <vladimir.cunat@nic.cz>
Wed, 28 Aug 2024 10:48:40 +0000 (12:48 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 2 Sep 2024 14:28:45 +0000 (16:28 +0200)
daemon/tls.c

index 2b8eb99a8d15b56172d4d2aa8c04a0b1ef76b412..b682285a2a16ca2ac4e55d84ac892bc41d680052 100644 (file)
@@ -384,11 +384,11 @@ static int get_oob_key_pin(gnutls_x509_crt_t crt, char *outchar, ssize_t outchar
        err = kr_base64_encode((uint8_t *)raw_pin, sizeof(raw_pin),
                            (uint8_t *)outchar, outchar_len);
        if (err >= 0 && err < outchar_len) {
-               err = GNUTLS_E_SUCCESS;
                outchar[err] = '\0'; /* kr_base64_encode() doesn't do it */
+               err = GNUTLS_E_SUCCESS;
        } else if (kr_fails_assert(err < 0)) {
-               err = kr_error(ENOSPC); /* base64 fits but '\0' doesn't */
                outchar[outchar_len - 1] = '\0';
+               err = kr_error(ENOSPC); /* base64 fits but '\0' doesn't */
        }
 leave:
        gnutls_free(datum.data);