File tree Expand file tree Collapse file tree 1 file changed +18
-10
lines changed Expand file tree Collapse file tree 1 file changed +18
-10
lines changed Original file line number Diff line number Diff line change @@ -60,20 +60,28 @@ fossil_media_xml_node_t *fossil_media_xml_new_comment(const char *comment) {
6060
6161void fossil_media_xml_free (fossil_media_xml_node_t * node ) {
6262 if (!node ) return ;
63- free (node -> name );
64- free (node -> content );
63+ if ( node -> name ) free (node -> name );
64+ if ( node -> content ) free (node -> content );
6565
66- for (size_t i = 0 ; i < node -> child_count ; i ++ ) {
67- fossil_media_xml_free (node -> children [i ]);
66+ if (node -> children ) {
67+ for (size_t i = 0 ; i < node -> child_count ; i ++ ) {
68+ fossil_media_xml_free (node -> children [i ]);
69+ }
70+ free (node -> children );
6871 }
69- free (node -> children );
7072
71- for (size_t i = 0 ; i < node -> attr_count ; i ++ ) {
72- free (node -> attr_names [i ]);
73- free (node -> attr_values [i ]);
73+ if (node -> attr_names ) {
74+ for (size_t i = 0 ; i < node -> attr_count ; i ++ ) {
75+ if (node -> attr_names [i ]) free (node -> attr_names [i ]);
76+ }
77+ free (node -> attr_names );
78+ }
79+ if (node -> attr_values ) {
80+ for (size_t i = 0 ; i < node -> attr_count ; i ++ ) {
81+ if (node -> attr_values [i ]) free (node -> attr_values [i ]);
82+ }
83+ free (node -> attr_values );
7484 }
75- free (node -> attr_names );
76- free (node -> attr_values );
7785
7886 free (node );
7987}
You can’t perform that action at this time.
0 commit comments