~ubuntu-branches/ubuntu/quantal/libvirt/quantal

« back to all changes in this revision

Viewing changes to debian/patches/CVE-2012-3445.patch

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-09-26 11:49:45 UTC
  • mfrom: (221.1.2 quantal)
  • Revision ID: package-import@ubuntu.com-20120926114945-qfxa3lw60vn8cw4p
Tags: 0.9.13-0ubuntu11
* SECURITY UPDATE: denial of service via invalid RPC command
  - debian/patches/CVE-2012-3445.patch: make sure nparams isn't set to
    zero in daemon/remote.c.
  - CVE-2012-3445

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: fix denial of service via invalid RPC command
 
2
Origin: upstream, http://libvirt.org/git/?p=libvirt.git;a=commit;h=6039a2cb49c8af4c68460d2faf365a7e1c686c7b
 
3
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683483
 
4
Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=844734
 
5
 
 
6
Index: libvirt-0.9.13/daemon/remote.c
 
7
===================================================================
 
8
--- libvirt-0.9.13.orig/daemon/remote.c 2012-06-25 03:06:18.000000000 -0400
 
9
+++ libvirt-0.9.13/daemon/remote.c      2012-09-26 11:49:01.060901168 -0400
 
10
@@ -964,7 +964,7 @@
 
11
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
12
         goto cleanup;
 
13
     }
 
14
-    if (VIR_ALLOC_N(params, nparams) < 0)
 
15
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0)
 
16
         goto no_memory;
 
17
 
 
18
     if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
 
19
@@ -1073,7 +1073,7 @@
 
20
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
21
         goto cleanup;
 
22
     }
 
23
-    if (VIR_ALLOC_N(params, nparams) < 0)
 
24
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0)
 
25
         goto no_memory;
 
26
 
 
27
     if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
 
28
@@ -1254,7 +1254,7 @@
 
29
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
30
         goto cleanup;
 
31
     }
 
32
-    if (VIR_ALLOC_N(params, nparams) < 0) {
 
33
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
 
34
         virReportOOMError();
 
35
         goto cleanup;
 
36
     }
 
37
@@ -1728,7 +1728,7 @@
 
38
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
39
         goto cleanup;
 
40
     }
 
41
-    if (VIR_ALLOC_N(params, nparams) < 0) {
 
42
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
 
43
         virReportOOMError();
 
44
         goto cleanup;
 
45
     }
 
46
@@ -1793,7 +1793,7 @@
 
47
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
48
         goto cleanup;
 
49
     }
 
50
-    if (VIR_ALLOC_N(params, nparams) < 0) {
 
51
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
 
52
         virReportOOMError();
 
53
         goto cleanup;
 
54
     }
 
55
@@ -1858,7 +1858,7 @@
 
56
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
57
         goto cleanup;
 
58
     }
 
59
-    if (VIR_ALLOC_N(params, nparams) < 0) {
 
60
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
 
61
         virReportOOMError();
 
62
         goto cleanup;
 
63
     }
 
64
@@ -2118,7 +2118,7 @@
 
65
         goto cleanup;
 
66
     }
 
67
 
 
68
-    if (VIR_ALLOC_N(params, nparams) < 0) {
 
69
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
 
70
         virReportOOMError();
 
71
         goto cleanup;
 
72
     }
 
73
@@ -3621,7 +3621,7 @@
 
74
         virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
 
75
         goto cleanup;
 
76
     }
 
77
-    if (VIR_ALLOC_N(params, nparams) < 0) {
 
78
+    if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
 
79
         virReportOOMError();
 
80
         goto cleanup;
 
81
     }