From ee558d0032938c422b43df38f59de7f0369105aa Mon Sep 17 00:00:00 2001 From: Ryu Sawada Date: Sun, 9 Oct 2005 23:06:41 +0000 Subject: [PATCH] check if absolute path when follow entity. --- mxml.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mxml.c b/mxml.c index be0d8a9..e818d1a 100755 --- a/mxml.c +++ b/mxml.c @@ -1727,7 +1727,10 @@ int mxml_parse_entity(char **buf, char *file_name, char *error, int error_size) /* read external file */ for (i = 0; i < nentity; i++) { if (entity_type[i] == EXTERNAL_ENTITY) { - sprintf(filename, "%s%c%s", directoryname, DIR_SEPARATOR, entity_reference_name[i]); + if ( entity_reference_name[i][0] == DIR_SEPARATOR ) /* absolute path */ + strcpy(filename, entity_reference_name[i]); + else /* relative path */ + sprintf(filename, "%s%c%s", directoryname, DIR_SEPARATOR, entity_reference_name[i]); fh = open(filename, O_RDONLY | O_TEXT, 0644); if (fh == -1) {