Skip to content
Snippets Groups Projects
Commit 94096c94 authored by Guido Günther's avatar Guido Günther
Browse files

xen: fix parsing xend http response

This unbreaks xen on wheezy.

Thanks: Jim Fehlig
parent e936a7eb
No related branches found
No related tags found
No related merge requests found
......@@ -10,3 +10,4 @@ Don-t-fail-if-we-can-t-setup-avahi.patch
Reduce-udevadm-settle-timeout-to-10-seconds.patch
debian/Debianize-systemd-service-files.patch
Allow-xen-toolstack-to-find-it-s-binaries.patch
xen-fix-parsing-xend-http-response.patch
From: Jim Fehlig <jfehlig@suse.com>
Date: Tue, 28 Jan 2014 18:15:48 -0700
Subject: xen: fix parsing xend http response
Commit df36af58 broke parsing of http response from xend. The prior
use of atoi() would happily parse e.g. a string containing "200 OK\r\n",
whereas virStrToLong_i() will fail when called with a NULL end_ptr.
Change the calls to virStrToLong_i() to provide a non-NULL end_ptr.
---
src/xen/xend_internal.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index 87e77a6..25137b8 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -282,6 +282,7 @@ xend_req(int fd, char **content)
size_t buffer_size = 4096;
int content_length = 0;
int retcode = 0;
+ char *end_ptr;
if (VIR_ALLOC_N(buffer, buffer_size) < 0)
return -1;
@@ -291,13 +292,13 @@ xend_req(int fd, char **content)
break;
if (istartswith(buffer, "Content-Length: ")) {
- if (virStrToLong_i(buffer + 16, NULL, 10, &content_length) < 0) {
+ if (virStrToLong_i(buffer + 16, &end_ptr, 10, &content_length) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("failed to parse Xend response content length"));
return -1;
}
} else if (istartswith(buffer, "HTTP/1.1 ")) {
- if (virStrToLong_i(buffer + 9, NULL, 10, &retcode) < 0) {
+ if (virStrToLong_i(buffer + 9, &end_ptr, 10, &retcode) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("failed to parse Xend response return code"));
return -1;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment