From 5b4b94963a145deb962c10a29202d0c97505c6de Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Wed, 13 Oct 2010 20:00:23 -0700 Subject: [PATCH] Add null pointer checks around profile in consumer xml. --- src/modules/xml/consumer_xml.c | 46 ++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/modules/xml/consumer_xml.c b/src/modules/xml/consumer_xml.c index f093ffe0..41c8b428 100644 --- a/src/modules/xml/consumer_xml.c +++ b/src/modules/xml/consumer_xml.c @@ -656,27 +656,31 @@ xmlDocPtr xml_make_doc( mlt_consumer consumer, mlt_service service ) mlt_properties_set_int( properties, "global_feed", 1 ); // Add a profile child element - xmlNewProp( profile_node, _x("description"), _x(profile->description) ); - sprintf( tmpstr, "%d", profile->width ); - xmlNewProp( profile_node, _x("width"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->height ); - xmlNewProp( profile_node, _x("height"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->progressive ); - xmlNewProp( profile_node, _x("progressive"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->sample_aspect_num ); - xmlNewProp( profile_node, _x("sample_aspect_num"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->sample_aspect_den ); - xmlNewProp( profile_node, _x("sample_aspect_den"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->display_aspect_num ); - xmlNewProp( profile_node, _x("display_aspect_num"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->display_aspect_den ); - xmlNewProp( profile_node, _x("display_aspect_den"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->frame_rate_num ); - xmlNewProp( profile_node, _x("frame_rate_num"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->frame_rate_den ); - xmlNewProp( profile_node, _x("frame_rate_den"), _x(tmpstr) ); - sprintf( tmpstr, "%d", profile->colorspace ); - xmlNewProp( profile_node, _x("colorspace"), _x(tmpstr) ); + if ( profile ) + { + if ( profile->description ) + xmlNewProp( profile_node, _x("description"), _x(profile->description) ); + sprintf( tmpstr, "%d", profile->width ); + xmlNewProp( profile_node, _x("width"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->height ); + xmlNewProp( profile_node, _x("height"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->progressive ); + xmlNewProp( profile_node, _x("progressive"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->sample_aspect_num ); + xmlNewProp( profile_node, _x("sample_aspect_num"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->sample_aspect_den ); + xmlNewProp( profile_node, _x("sample_aspect_den"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->display_aspect_num ); + xmlNewProp( profile_node, _x("display_aspect_num"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->display_aspect_den ); + xmlNewProp( profile_node, _x("display_aspect_den"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->frame_rate_num ); + xmlNewProp( profile_node, _x("frame_rate_num"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->frame_rate_den ); + xmlNewProp( profile_node, _x("frame_rate_den"), _x(tmpstr) ); + sprintf( tmpstr, "%d", profile->colorspace ); + xmlNewProp( profile_node, _x("colorspace"), _x(tmpstr) ); + } // Construct the context maps context->id_map = mlt_properties_new(); -- 2.39.2