Changeset 351
- Timestamp:
- 02/01/08 17:22:10 (10 months ago)
- Files:
-
- trunk/libsyncml/parser/sml_xml_parse.c (modified) (36 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libsyncml/parser/sml_xml_parse.c
r348 r351 299 299 *version = SML_VERSION_12; 300 300 else { 301 g_free(dtd);301 smlSafeCFree(&dtd); 302 302 smlErrorSet(error, SML_ERROR_GENERIC, "Unknown VerDTD"); 303 303 goto error; 304 304 } 305 g_free(dtd);305 smlSafeCFree(&dtd); 306 306 307 307 smlTrace(TRACE_EXIT, "%s", __func__); … … 333 333 *type = SML_PROTOCOL_SYNCML; 334 334 else { 335 g_free(proto);335 smlSafeCFree(&proto); 336 336 smlErrorSet(error, SML_ERROR_GENERIC, "Unknown VerProto"); 337 337 goto error; 338 338 } 339 g_free(proto);339 smlSafeCFree(&proto); 340 340 341 341 smlTrace(TRACE_EXIT, "%s", __func__); … … 562 562 if (!_smlXmlParserGetString(parser, &mark, SML_ELEMENT_MARK, error)) 563 563 goto error; 564 g_free(mark);564 smlSafeCFree(&mark); 565 565 } else if (size && !strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_SIZE)) { 566 566 if (!_smlXmlParserGetID(parser, size, SML_ELEMENT_SIZE, error)) … … 576 576 if (!_smlXmlParserGetString(parser, &version, SML_ELEMENT_VERSION, error)) 577 577 goto error; 578 g_free(version);578 smlSafeCFree(&version); 579 579 } else { 580 580 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReaderConstName(parser->reader)); … … 692 692 693 693 if (!smlItemAddData(item, data, size, error)) { 694 g_free(data);694 smlSafeCFree(&data); 695 695 goto error_free_item; 696 696 } 697 697 698 g_free(data);698 smlSafeCFree(&data); 699 699 } 700 700 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MOREDATA)) { … … 778 778 cleanup: 779 779 if (data) 780 g_free(data);780 smlSafeCFree(&data); 781 781 if (format) 782 g_free(format);782 smlSafeCFree(&format); 783 783 if (type) 784 g_free(type);784 smlSafeCFree(&type); 785 785 return cred; 786 786 error: … … 843 843 844 844 if (format) 845 g_free(format);845 smlSafeCFree(&format); 846 846 if (type) 847 g_free(type);847 smlSafeCFree(&type); 848 848 849 849 smlTrace(TRACE_EXIT, "%s: %p", __func__, chal); … … 854 854 error: 855 855 if (format) 856 g_free(format);856 smlSafeCFree(&format); 857 857 if (type) 858 g_free(type);858 smlSafeCFree(&type); 859 859 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 860 860 return NULL; … … 964 964 error: 965 965 if (contenttype) 966 g_free(contenttype);966 smlSafeCFree(&contenttype); 967 967 *cmd = NULL; 968 968 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 1313 1313 if (!_smlCommandMetaParse(parser, &format, &contenttype, NULL, NULL, NULL, error)) 1314 1314 goto error_free_cmd; 1315 g_free(format);1315 smlSafeCFree(&format); 1316 1316 } else { 1317 1317 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node"); … … 1331 1331 1332 1332 if (contenttype) 1333 g_free(contenttype);1333 smlSafeCFree(&contenttype); 1334 1334 1335 1335 /* Step once more */ … … 1347 1347 *cmd = NULL; 1348 1348 if (contenttype) 1349 g_free(contenttype);1349 smlSafeCFree(&contenttype); 1350 1350 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 1351 1351 return FALSE; … … 1401 1401 1402 1402 (*cmd)->private.results.status->sourceRef = smlLocationNew(locURI, NULL, error); 1403 g_free(locURI); 1404 locURI = NULL; 1403 smlSafeCFree(&locURI); 1405 1404 if (!(*cmd)->private.results.status->sourceRef) 1406 1405 goto error_free_cmd; … … 1410 1409 1411 1410 (*cmd)->private.results.status->targetRef = smlLocationNew(locURI, NULL, error); 1412 g_free(locURI); 1413 locURI = NULL; 1411 smlSafeCFree(&locURI); 1414 1412 if (!(*cmd)->private.results.status->targetRef) 1415 1413 goto error_free_cmd; … … 1424 1422 (*cmd)->private.results.status->item->source = NULL; 1425 1423 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_META)) { 1424 /* ignore format */ 1426 1425 char *format = NULL; 1427 1426 if (!_smlCommandMetaParse(parser, &format, &contenttype, NULL, NULL, NULL, error)) 1428 1427 goto error_free_cmd; 1429 g_free(format);1428 if (format) smlSafeCFree(&format); 1430 1429 } else { 1431 1430 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node"); … … 1451 1450 1452 1451 if (contenttype) 1453 g_free(contenttype);1452 smlSafeCFree(&contenttype); 1454 1453 1455 1454 /* Step once more */ … … 1467 1466 *cmd = NULL; 1468 1467 if (contenttype) 1469 g_free(contenttype);1468 smlSafeCFree(&contenttype); 1470 1469 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 1471 1470 return FALSE; … … 1488 1487 smlTrace(TRACE_INTERNAL, "Xml input: %s", debugstr); 1489 1488 smlLog("received-%i.xml", data, size); 1490 g_free(debugstr);1489 smlSafeCFree(&debugstr); 1491 1490 1492 1491 parser->got_command = FALSE; … … 1586 1585 //xmlCleanupParser(); 1587 1586 1588 g_free(parser);1587 smlSafeFree((gpointer *)&parser); 1589 1588 1590 1589 smlTrace(TRACE_EXIT, "%s", __func__); … … 1791 1790 goto error_free_status; 1792 1791 (*status)->type = smlCommandTypeFromString(cmdname, error); 1793 g_free(cmdname);1792 smlSafeCFree(&cmdname); 1794 1793 if ((*status)->type == SML_COMMAND_TYPE_UNKNOWN) 1795 1794 goto error_free_status; … … 1802 1801 1803 1802 (*status)->sourceRef = smlLocationNew(locURI, NULL, error); 1804 g_free(locURI); 1805 locURI = NULL; 1803 smlSafeCFree(&locURI); 1806 1804 if (!(*status)->sourceRef) 1807 1805 goto error_free_status; … … 1811 1809 1812 1810 (*status)->targetRef = smlLocationNew(locURI, NULL, error); 1813 g_free(locURI); 1814 locURI = NULL; 1811 smlSafeCFree(&locURI); 1815 1812 if (!(*status)->targetRef) 1816 1813 goto error_free_status; … … 1994 1991 functions->get_cmd = (SmlParserCommandFunction)smlXmlParserGetCommand; 1995 1992 functions->get_status = (SmlParserStatusFunction)smlXmlParserGetStatus; 1996 1993 1997 1994 smlTrace(TRACE_EXIT, "%s: %p", __func__, parser); 1998 1995 return parser; … … 2253 2250 goto error; 2254 2251 } 2255 g_free(value);2252 smlSafeCFree(&value); 2256 2253 2257 2254 if (!_smlXmlParserStep(parser)) { … … 2273 2270 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 2274 2271 if (value != NULL) 2275 g_free(value);2272 smlSafeCFree(&value); 2276 2273 return FALSE; 2277 2274 } … … 2339 2336 goto error; 2340 2337 } 2341 g_free(value);2338 smlSafeCFree(&value); 2342 2339 2343 2340 if (!_smlXmlParserStep(parser)) { … … 2353 2350 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 2354 2351 if (value != NULL) 2355 g_free(value);2352 smlSafeCFree(&value); 2356 2353 return NULL; 2357 2354 } … … 2439 2436 goto error; 2440 2437 } 2441 g_free(value);2438 if (value) smlSafeCFree(&value); 2442 2439 2443 2440 if (!_smlXmlParserStep(parser)) { … … 2453 2450 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 2454 2451 if (value != NULL) 2455 g_free(value);2452 smlSafeCFree(&value); 2456 2453 return NULL; 2457 2454 } … … 2525 2522 goto error; 2526 2523 } 2527 g_free(value);2524 if (value) smlSafeCFree(&value); 2528 2525 2529 2526 if (!_smlXmlParserStep(parser)) { … … 2540 2537 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 2541 2538 if (value != NULL) 2542 g_free(value);2539 smlSafeCFree(&value); 2543 2540 return FALSE; 2544 2541 } … … 2719 2716 char *debugstr = smlPrintBinary(data, size); 2720 2717 smlTrace(TRACE_INTERNAL, "Xml devinf input: %s", debugstr); 2721 g_free(debugstr);2718 smlSafeCFree(&debugstr); 2722 2719 2723 2720 SmlXmlParser *parser = smlTryMalloc0(sizeof(SmlXmlParser), error); … … 2770 2767 devinf->version = SML_DEVINF_VERSION_12; 2771 2768 else { 2772 g_free(verdtd);2769 smlSafeCFree(&verdtd); 2773 2770 smlErrorSet(error, SML_ERROR_GENERIC, "Unknown devinf version"); 2774 2771 goto error_free_devinf; 2775 2772 } 2776 g_free(verdtd);2773 smlSafeCFree(&verdtd); 2777 2774 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_MAN)) { 2778 2775 if (!_smlXmlParserGetString(parser, &(devinf->manufacturer), SML_ELEMENT_MAN, error)) … … 2802 2799 2803 2800 devinf->devtyp = smlDevInfDevTypeFromString(devtype, error); 2804 g_free(devtype);2801 smlSafeCFree(&devtype); 2805 2802 2806 2803 if (devinf->devtyp == SML_DEVINF_DEVTYPE_UNKNOWN) … … 2893 2890 xmlFreeTextReader(parser->reader); 2894 2891 parser->reader = NULL; 2895 g_free(parser);2892 smlSafeFree((gpointer *)&parser); 2896 2893 2897 2894 smlTrace(TRACE_EXIT, "%s", __func__); … … 2904 2901 error_free_parser: 2905 2902 parser->reader = NULL; 2906 g_free(parser);2903 smlSafeFree((gpointer *)&parser); 2907 2904 error: 2908 2905 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error));
