Index: libxslt/security.c
===================================================================
--- libxslt/security.c	(revision 1434)
+++ libxslt/security.c	(working copy)
@@ -362,6 +362,18 @@
     if ((uri->scheme == NULL) ||
 	(xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) {
 
+/* The path may contain a / when it is an absolute path.
+   On Windows this can result in /c:/path/to/file .
+   This obviously is not an acceptable path, so offset
+   by one.
+   <rs 2007-08-07>
+*/
+#if defined(WIN32) && !defined(__CYGWIN__)
+    if ((uri->path)&&(uri->path[0]=='/')&&
+        (uri->path[1]!='\0')&&(uri->path[2]==':'))
+    ret = xsltCheckWritePath(sec, ctxt, uri->path+1);
+    else
+#endif
 	/*
 	 * Check if we are allowed to write this file
 	 */
