--- a/mercurial/osutil.c Mon Sep 29 12:12:53 2008 +0200
+++ b/mercurial/osutil.c Wed Oct 01 08:41:18 2008 -0400
@@ -207,9 +207,7 @@
fh = FindFirstFileA(pattern, &fd);
if (fh == INVALID_HANDLE_VALUE) {
- PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError,
- GetLastError(),
- path);
+ PyErr_SetFromWindowsErrWithFilename(GetLastError(), path);
goto error_file;
}
@@ -244,9 +242,7 @@
} while (FindNextFileA(fh, &fd));
if (GetLastError() != ERROR_NO_MORE_FILES) {
- PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError,
- GetLastError(),
- path);
+ PyErr_SetFromWindowsErrWithFilename(GetLastError(), path);
goto error;
}
@@ -294,9 +290,10 @@
&path, &pathlen, &statflag, &skip))
goto error_parse;
- if (pathlen >= PATH_MAX)
+ if (pathlen >= PATH_MAX) {
+ PyErr_SetString(PyExc_ValueError, "path too long");
goto error_parse;
-
+ }
strncpy(fullpath, path, PATH_MAX);
fullpath[pathlen] = '/';
keepstat = statflag && PyObject_IsTrue(statflag);