Hi, i m using libxml2.7.3 to parse the xml data from buffer by using doc = xmlParseMemory(s.ptr, s.len);
this is resulting in a memory leak, is there any fix on this issue. I found that xmlFetProp function returns malloced string and we have to explicitly free the memory. but this is not working too. I have tried malloc_trim(0) also. please provide me some help on this issue. here is the sample code i m using to parse the xml data. doc = xmlParseMemory(s.ptr, s.len); if(doc != 0) { for( nodeLevel1 = doc->children; nodeLevel1 != NULL; nodeLevel1 = nodeLevel1->next) { i = 0; /*initialising counter to zero*/ #ifdef GPS_DEVICE Trip.LocationCount = 0; Trip.TripCount = 0; #endif abd_syslog(LOG_DEBUG,"\nMain node entry xml\n"); for( nodeLevel2 = nodeLevel1->children; nodeLevel2 != NULL; nodeLevel2 = nodeLevel2->next) { for( nodeLevel3 = nodeLevel2->children; nodeLevel3 != NULL; nodeLevel3 = nodeLevel3->next) { variable_name = (xmlChar *) "val"; if(xmlHasProp(nodeLevel3,variable_name ) ) { value=xmlGetProp(nodeLevel3,variable_name); return_val = atoi((char * )value); xmlFree(value); } variable_name = (xmlChar *) "employee_id"; if(xmlHasProp(nodeLevel3,variable_name ) ) { value=xmlGetProp(nodeLevel3,variable_name); emp.emp_id[i] = atoi((char * )value); xmlFree(value); } } i++; /*incrementing the row count*/ //abd_syslog(LOG_DEBUG,"\n count of row %ld\n",i); } } } xmlFreeDoc(doc); xmlCleanupParser(); malloc_trim(0); -- Regards&Thanks Amar Pol Software Engineer
_______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml