applied patch from from Patrik Fimml. Fixes bug #458268
* uri.c: applied patch from from Patrik Fimml. Fixes bug #458268
svn path=/trunk/; revision=3645
diff --git a/ChangeLog b/ChangeLog
index 3e71bdf..23e44ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Jul 19 18:10:58 PDT 2007 William Brack <wbrack@mmm.com.hk>
+
+ * uri.c: applied patch from from Patrik Fimml. Fixes bug #458268.
+
Wed Jul 18 11:05:08 PDT 2007 William Brack <wbrack@mmm.com.hk>
* xinclude.c: applied patch from bug #454608 from Patrik Fimml.
diff --git a/uri.c b/uri.c
index 4f5e182..34841af 100644
--- a/uri.c
+++ b/uri.c
@@ -2258,7 +2258,8 @@
uptr = (xmlChar *) ref->path;
if (*uptr == '/')
uptr++;
- val = xmlStrdup(uptr);
+ /* exception characters from xmlSaveUri */
+ val = xmlURIEscapeStr(uptr, BAD_CAST "/;&=+$,");
}
goto done;
}
@@ -2322,7 +2323,8 @@
if (nbslash == 0) {
if (uptr != NULL)
- val = xmlStrdup (uptr);
+ /* exception characters from xmlSaveUri */
+ val = xmlURIEscapeStr(uptr, BAD_CAST "/;&=+$,");
goto done;
}
@@ -2362,6 +2364,12 @@
vptr[len - 1] = 0;
}
+ /* escape the freshly-built path */
+ vptr = val;
+ /* exception characters from xmlSaveUri */
+ val = xmlURIEscapeStr(vptr, BAD_CAST "/;&=+$,");
+ xmlFree(vptr);
+
done:
/*
* Free the working variables