From c3d084736cca81dd4ec05f7e4b634050eb6e8525 Mon Sep 17 00:00:00 2001 From: Jens Georg Date: Thu, 4 May 2023 19:14:29 +0200 Subject: [PATCH] all: Drop xmlRecoverMemory use xmlReadMemory, also use NONET flat Upstream: https://gitlab.gnome.org/GNOME/gupnp/-/commit/80e68995b745a5900eaaa1d0c424d3a9d354e42d Signed-off-by: Bernd Kuhls [Bernd: backported to branch gupnp-1.4] --- libgupnp/gupnp-control-point.c | 7 +++++-- libgupnp/gupnp-service-info.c | 8 ++++++-- libgupnp/gupnp-service-proxy-action.c | 7 +++++-- libgupnp/gupnp-service-proxy.c | 7 +++++-- libgupnp/gupnp-service.c | 7 +++++-- 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/libgupnp/gupnp-control-point.c b/libgupnp/gupnp-control-point.c index deb4b42..17c485a 100644 --- a/libgupnp/gupnp-control-point.c +++ b/libgupnp/gupnp-control-point.c @@ -613,8 +613,11 @@ got_description_url (SoupSession *session, xmlDoc *xml_doc; /* Parse response */ - xml_doc = xmlRecoverMemory (msg->response_body->data, - msg->response_body->length); + xml_doc = xmlReadMemory (msg->response_body->data, + msg->response_body->length, + NULL, + NULL, + XML_PARSE_NONET | XML_PARSE_RECOVER); if (xml_doc) { doc = gupnp_xml_doc_new (xml_doc); diff --git a/libgupnp/gupnp-service-info.c b/libgupnp/gupnp-service-info.c index 9a9f4de..1c7489e 100644 --- a/libgupnp/gupnp-service-info.c +++ b/libgupnp/gupnp-service-info.c @@ -592,8 +592,12 @@ got_scpd_url (G_GNUC_UNUSED SoupSession *session, if (SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { xmlDoc *scpd; - scpd = xmlRecoverMemory (msg->response_body->data, - msg->response_body->length); + scpd = xmlReadMemory (msg->response_body->data, + msg->response_body->length, + NULL, + NULL, + XML_PARSE_NONET | XML_PARSE_RECOVER); + if (scpd) { introspection = gupnp_service_introspection_new (scpd); diff --git a/libgupnp/gupnp-service-proxy-action.c b/libgupnp/gupnp-service-proxy-action.c index f089152..079219f 100644 --- a/libgupnp/gupnp-service-proxy-action.c +++ b/libgupnp/gupnp-service-proxy-action.c @@ -87,8 +87,11 @@ check_action_response (G_GNUC_UNUSED GUPnPServiceProxy *proxy, } /* Parse response */ - response = xmlRecoverMemory (action->msg->response_body->data, - action->msg->response_body->length); + response = xmlReadMemory (action->msg->response_body->data, + action->msg->response_body->length, + NULL, + NULL, + XML_PARSE_NONET | XML_PARSE_RECOVER); if (!response) { if (action->msg->status_code == SOUP_STATUS_OK) { diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c index 5dd1bfc..eed9882 100644 --- a/libgupnp/gupnp-service-proxy.c +++ b/libgupnp/gupnp-service-proxy.c @@ -1561,8 +1561,11 @@ server_handler (G_GNUC_UNUSED SoupServer *soup_server, } /* Parse the actual XML message content */ - doc = xmlRecoverMemory (msg->request_body->data, - msg->request_body->length); + doc = xmlReadMemory (msg->request_body->data, + msg->request_body->length, + NULL, + NULL, + XML_PARSE_NONET | XML_PARSE_RECOVER); if (doc == NULL) { /* Failed */ g_warning ("Failed to parse NOTIFY message body"); diff --git a/libgupnp/gupnp-service.c b/libgupnp/gupnp-service.c index 2794ebc..e82daaa 100644 --- a/libgupnp/gupnp-service.c +++ b/libgupnp/gupnp-service.c @@ -1002,8 +1002,11 @@ control_server_handler (SoupServer *server, *end = '\0'; /* Parse action_node */ - doc = xmlRecoverMemory (msg->request_body->data, - msg->request_body->length); + doc = xmlReadMemory (msg->request_body->data, + msg->request_body->length, + NULL, + NULL, + XML_PARSE_NONET | XML_PARSE_RECOVER); if (doc == NULL) { soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST); -- 2.39.2