From a91b73fd29493135f248a48b534742436bf89146 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 15 Aug 2014 01:24:34 +0200 Subject: [PATCH] Followup on RT3334 fix: make sure that a directory that's the empty string returns 0 with errno = ENOENT. Reviewed-by: Andy Polyakov (cherry picked from commit 360928b7d0f16dde70e26841bbf9e1af727e8b8f) --- crypto/LPdir_vms.c | 7 ++++++- crypto/LPdir_win.c | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/crypto/LPdir_vms.c b/crypto/LPdir_vms.c index 7613bd254e..3582fa6f01 100644 --- a/crypto/LPdir_vms.c +++ b/crypto/LPdir_vms.c @@ -1,4 +1,3 @@ -/* $LP: LPlib/source/LPdir_vms.c,v 1.20 2004/08/26 13:36:05 _cvs_levitte Exp $ */ /* * Copyright (c) 2004, Richard Levitte * All rights reserved. @@ -88,6 +87,12 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) size_t filespeclen = strlen(directory); char *filespec = NULL; + if (filespeclen == 0) + { + errno = ENOENT; + return 0; + } + /* MUST be a VMS directory specification! Let's estimate if it is. */ if (directory[filespeclen-1] != ']' && directory[filespeclen-1] != '>' diff --git a/crypto/LPdir_win.c b/crypto/LPdir_win.c index 5cdcd001a7..d5b5e2c900 100644 --- a/crypto/LPdir_win.c +++ b/crypto/LPdir_win.c @@ -66,6 +66,12 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) char *extdirbuf = NULL; size_t dirlen = strlen (directory); + if (dirlen == 0) + { + errno = ENOENT; + return 0; + } + *ctx = (LP_DIR_CTX *)malloc(sizeof(LP_DIR_CTX)); if (*ctx == NULL) {