Fix a memory leak in xmldoc
authorKinsey Moore <kmoore@digium.com>
Thu, 7 Mar 2013 16:48:19 +0000 (16:48 +0000)
committerKinsey Moore <kmoore@digium.com>
Thu, 7 Mar 2013 16:48:19 +0000 (16:48 +0000)
Another instance of attribute retrieval not being freed properly.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382604 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/xmldoc.c

index 71def2a..2dd3432 100644 (file)
@@ -2475,10 +2475,11 @@ struct ao2_container *ast_xmldoc_build_documentation(const char *type)
                        case CONFIG_INFO_SYNTAX:
                        {
                                struct ast_xml_doc_item *tail;
                        case CONFIG_INFO_SYNTAX:
                        {
                                struct ast_xml_doc_item *tail;
+                               RAII_VAR(const char *, name, ast_xml_get_attribute(node, "name"), ast_xml_free_attr);
                                if (item || !ast_xml_node_get_children(node) || strcasecmp(ast_xml_node_get_name(node), "configInfo")) {
                                        break;
                                }
                                if (item || !ast_xml_node_get_children(node) || strcasecmp(ast_xml_node_get_name(node), "configInfo")) {
                                        break;
                                }
-                               if (!(item = xmldoc_build_documentation_item(node, ast_xml_get_attribute(node, "name"), "configInfo"))) {
+                               if (!(item = xmldoc_build_documentation_item(node, name, "configInfo"))) {
                                        break;
                                }
                                tail = item;
                                        break;
                                }
                                tail = item;