[libgovirt] Fix crash on failure to parse response to an action
- From: Christophe Fergeau <teuf src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgovirt] Fix crash on failure to parse response to an action
- Date: Thu, 26 Jun 2014 23:21:39 +0000 (UTC)
commit 934c8ff67296933a8da0110b472d2deb9205ad6a
Author: Christophe Fergeau <cfergeau redhat com>
Date: Fri Apr 25 15:28:04 2014 +0200
Fix crash on failure to parse response to an action
When a REST action fails with a 404 HTTP error (for example), the
document we get back is not an XML document. Trying to parse it will
return a NULL root node. If we don't return early in such a situation,
we'll get a crash trying to dereference it later on.
govirt/ovirt-resource.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/govirt/ovirt-resource.c b/govirt/ovirt-resource.c
index 7cd34fd..a3570fe 100644
--- a/govirt/ovirt-resource.c
+++ b/govirt/ovirt-resource.c
@@ -696,6 +696,11 @@ parse_action_response(RestProxyCall *call, OvirtResource *resource,
result = FALSE;
root = ovirt_rest_xml_node_from_call(call);
+ /* We are not guaranteed to get XML out of the call, for example we could
+ * get HTML with a 404 error */
+ if (root == NULL) {
+ return FALSE;
+ }
if (g_strcmp0(root->name, "action") == 0) {
enum OvirtResponseStatus status;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]