From 6e834b8df2c01f4f45c19094a09e28b28fa62fcf Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Thu, 9 Nov 2023 09:49:35 +0100 Subject: [PATCH] pki: Initialize pointers and avoid buffer overrun Signed-off-by: Jakub Jelen Reviewed-by: Sahana Prasad Reviewed-by: Eshan Kelkar --- src/pki.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/pki.c b/src/pki.c index 6863c90c..bfdcb311 100644 --- a/src/pki.c +++ b/src/pki.c @@ -1668,10 +1668,10 @@ int ssh_pki_import_pubkey_file(const char *filename, ssh_key *pkey) { enum ssh_keytypes_e type; struct stat sb; - char *key_buf, *p; + char *key_buf = NULL, *p = NULL; size_t buflen, i; - const char *q; - FILE *file; + const char *q = NULL; + FILE *file = NULL; off_t size; int rc, cmp; char err_msg[SSH_ERRNO_MSG_MAX] = {0}; @@ -1777,6 +1777,10 @@ int ssh_pki_import_pubkey_file(const char *filename, ssh_key *pkey) return SSH_ERROR; } + if (i >= buflen) { + SAFE_FREE(key_buf); + return SSH_ERROR; + } q = &p[i + 1]; for (; i < buflen; i++) { if (isspace((int)p[i])) {