summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)
{