diff --git a/reactos/lib/crt/stdlib/splitp.c b/reactos/lib/crt/stdlib/splitp.c index 066f9e5aabb..5a62acefffa 100644 --- a/reactos/lib/crt/stdlib/splitp.c +++ b/reactos/lib/crt/stdlib/splitp.c @@ -44,8 +44,9 @@ void _tsplitpath(const _TCHAR* path, _TCHAR* drive, _TCHAR* dir, _TCHAR* fname, } } - tmp_ext = (_TCHAR*)_tcsrchr(path,'.'); - if (!tmp_ext) + /* If the dot is before the last dir separator, it's part + * of a directory name, not the start of the extension */ + if (!tmp_ext || tmp_ext < tmp_dir) { tmp_ext = (_TCHAR*)path+_tcslen(path); }