2 bugs found just after the release, Daniel

This commit is contained in:
Daniel Veillard 2008-03-03 16:55:24 +00:00
parent 2b9efc3de2
commit 263e2f2021
3 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,38 @@
Avoid segfault upon early libvirtd failure.
* qemud/qemud.c (main): Don't call qemudCleanup on an
uninitialized pointer.
By the way, even though this evoked a warning from gcc,
"make distcheck" passes. Obviously, that means the distcheck
rule is inadequate. I'll fix it so that it turns on -Werror
for the final build.
Signed-off-by: Jim Meyering <meyering@redhat.com>
---
qemud/qemud.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/qemud/qemud.c b/qemud/qemud.c
index 96fdf32..b6b82ed 100644
--- a/qemud/qemud.c
+++ b/qemud/qemud.c
@@ -2025,7 +2025,7 @@ libvirt management daemon:\n\
#define MAX_LISTEN 5
int main(int argc, char **argv) {
- struct qemud_server *server;
+ struct qemud_server *server = NULL;
struct sigaction sig_action;
int sigpipe[2];
const char *pid_file = NULL;
@@ -2180,7 +2180,8 @@ int main(int argc, char **argv) {
unlink (pid_file);
error1:
- qemudCleanup(server);
+ if (server)
+ qemudCleanup(server);
return ret;
}

View File

@ -0,0 +1,23 @@
Don't use first byte of string as a pointer.
* src/qemu_conf.c (qemudReportError): Use the pointer, errorMessage,
not its first byte, errorMessage[0].
Signed-off-by: Jim Meyering <meyering@redhat.com>
---
src/qemu_conf.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
index eead0bc..e54da5b 100644
--- a/src/qemu_conf.c
+++ b/src/qemu_conf.c
@@ -68,7 +68,7 @@ void qemudReportError(virConnectPtr conn,
errorMessage[0] = '\0';
}
- virerr = __virErrorMsg(code, (errorMessage[0] ? errorMessage[0] : NULL));
+ virerr = __virErrorMsg(code, (errorMessage[0] ? errorMessage : NULL));
__virRaiseError(conn, dom, net, VIR_FROM_QEMU, code, VIR_ERR_ERROR,
virerr, errorMessage, NULL, -1, -1, virerr, errorMessage);
}

View File

@ -21,10 +21,12 @@
Summary: Library providing a simple API virtualization
Name: libvirt
Version: 0.4.1
Release: 1%{?dist}%{?extra_release}
Release: 2%{?dist}%{?extra_release}
License: LGPL
Group: Development/Libraries
Source: libvirt-%{version}.tar.gz
Patch0: libvirt-0.4.1-qemud1.patch
Patch1: libvirt-0.4.1-qemud2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root
URL: http://libvirt.org/
BuildRequires: python python-devel
@ -136,6 +138,8 @@ of recent versions of Linux (and other OSes).
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
# Xen is available only on i386 x86_64 ia64
@ -276,6 +280,9 @@ fi
%doc docs/examples/python
%changelog
* Mon Mar 3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-2.fc9
- 2 patches found just after the release
* Mon Mar 3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1.fc9
- Release of 0.4.1
- Storage APIs