summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <richard@levitte.org>2014-08-15 01:24:34 +0200
committerRichard Levitte <levitte@openssl.org>2014-09-03 22:26:19 +0200
commit88f0c9797e82c7f2005d8db0b25bb3c829296ceb (patch)
tree91ae2383836bbfb33e414c77be3bdf6f37a9c110
parent74f5307d57dcba7ffa130a0749d05b6851f50095 (diff)
Followup on RT3334 fix: make sure that a directory that's the empty
string returns 0 with errno = ENOENT. Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 360928b7d0f16dde70e26841bbf9e1af727e8b8f)
-rw-r--r--crypto/LPdir_vms.c7
-rw-r--r--crypto/LPdir_win.c6
2 files changed, 12 insertions, 1 deletions
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 <richard@levitte.org>
* 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)
{