*** parser.c 2008-04-18 12:55:26.000000000 +0530 --- parserfix.c 2008-04-18 13:03:30.000000000 +0530 *************** xmlAttrNormalizeSpace2(xmlParserCtxtPtr *** 919,924 **** --- 919,925 ---- int remove_head = 0; int need_realloc = 0; const xmlChar *cur; + xmlChar *ret; if ((ctxt == NULL) || (src == NULL) || (len == NULL)) return(NULL); *************** xmlAttrNormalizeSpace2(xmlParserCtxtPtr *** 942,949 **** cur++; } if (need_realloc) { - xmlChar *ret; - ret = xmlStrndup(src + remove_head, i - remove_head + 1); if (ret == NULL) { xmlErrMemory(ctxt, NULL); --- 943,948 ---- *************** xmlAttrNormalizeSpace2(xmlParserCtxtPtr *** 954,960 **** return(ret); } else if (remove_head) { *len -= remove_head; ! return(src + remove_head); } return(NULL); } --- 953,964 ---- return(ret); } else if (remove_head) { *len -= remove_head; ! ret = xmlStrndup(src + remove_head, *len); ! if (ret == NULL) { ! xmlErrMemory(ctxt, NULL); ! return(NULL); ! } ! return(ret); } return(NULL); }