This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-changelog] [xen-unstable] [XENSTORED] Fix errno 'leak' in xenstored

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [XENSTORED] Fix errno 'leak' in xenstored.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 11 Nov 2006 09:10:15 +0000
Delivery-date: Sat, 11 Nov 2006 01:10:09 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxxx
# Node ID d108efc94de79ab8aa34311580c657740300908e
# Parent  ddb3581f4f1cde96fc5c5a33f0ef4b7c650d0731
[XENSTORED] Fix errno 'leak' in xenstored.

In certain cases, when a client doesn't have enough permissions, the
errno variable is not set in xenstored_core.c before its value is
reported back.  As a result, the client can learn about the errno of
the last failed request to xenstored (which could have come from
another client).  (An unintended information channel! :-)

From: Magnus Carlsson <magnus@xxxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
 tools/xenstore/xenstored_core.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -r ddb3581f4f1c -r d108efc94de7 tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c   Sat Nov 11 01:19:26 2006 +0000
+++ b/tools/xenstore/xenstored_core.c   Sat Nov 11 01:23:11 2006 +0000
@@ -575,8 +575,10 @@ struct node *get_node(struct connection 
        /* If we don't have permission, we don't have node. */
        if (node) {
                if ((perm_for_conn(conn, node->perms, node->num_perms) & perm)
-                   != perm)
+                   != perm) {
+                       errno = EACCES;
                        node = NULL;
+               }
        /* Clean up errno if they weren't supposed to know. */
        if (!node) 

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [XENSTORED] Fix errno 'leak' in xenstored., Xen patchbot-unstable <=