summaryrefslogtreecommitdiff
path: root/win32/win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/win32.c')
-rw-r--r--win32/win32.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/win32/win32.c b/win32/win32.c
index 914ebfd78f..f0f629e0ec 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -3927,6 +3927,9 @@ XS(w32_GetShortPathName)
shortpath = sv_mortalcopy(ST(0));
SvUPGRADE(shortpath, SVt_PV);
+ if (!SvPVX(shortpath) || !SvLEN(shortpath))
+ XSRETURN_UNDEF;
+
/* src == target is allowed */
do {
len = GetShortPathName(SvPVX(shortpath),
@@ -3956,6 +3959,9 @@ XS(w32_GetFullPathName)
filename = ST(0);
fullpath = sv_mortalcopy(filename);
SvUPGRADE(fullpath, SVt_PV);
+ if (!SvPVX(fullpath) || !SvLEN(fullpath))
+ XSRETURN_UNDEF;
+
do {
len = GetFullPathName(SvPVX(filename),
SvLEN(fullpath),