From e4d03fbf9227cce08844c2fa9b51ffffb3985849 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 29 Oct 2026 04:41:59 +0000 Subject: [PATCH] upstream: avoid possible over-read when a SFTP READPATH operations return a zero- length path. Patch from immortal-jelly OpenBSD-Commit-ID: 4f30d7d378626d333d2718fefcb3e62d42777c34 --- sftp-realpath.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sftp-realpath.c b/sftp-realpath.c index 2ec779d8f..937d45dfd 100644 --- a/sftp-realpath.c +++ b/sftp-realpath.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-realpath.c,v 1.2 2021/09/02 21:03:54 deraadt Exp $ */ +/* $OpenBSD: sftp-realpath.c,v 1.3 2026/10/29 04:41:59 djm Exp $ */ /* * Copyright (c) 2003 Constantin S. Svintsoff * @@ -173,6 +173,11 @@ sftp_realpath(const char *path, char *resolved) slen = readlink(resolved, symlink, sizeof(symlink) - 1); if (slen < 0) goto err; + if (slen == 0) { + /* refuse empty links */ + errno = ENOENT; + goto err; + } symlink[slen] = '\0'; if (symlink[0] == '/') { resolved[1] = 0;