diff options
Diffstat (limited to 'win32')
-rw-r--r-- | win32/win32.c | 6 |
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), |