]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
xen: Fix XEN_DOMCTL_getvcpuextstate
authorBart Van Assche <bvanassche@acm.org>
Sun, 28 Jun 2015 16:34:20 +0000 (16:34 +0000)
committerBart Van Assche <bvanassche@acm.org>
Sun, 28 Jun 2015 16:34:20 +0000 (16:34 +0000)
Xen only writes into the provided buffer if the guest handle was not NULL.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15367

coregrind/m_syswrap/syswrap-xen.c

index 6ce28e65cf674b8922f1b706604bcc318b7c0f3a..d5d4c28d0929abdf99e7ebf9f170ee1b44470938 100644 (file)
@@ -1483,10 +1483,9 @@ POST(domctl){
 
 
    case VKI_XEN_DOMCTL_getvcpuextstate:
-      __POST_XEN_DOMCTL_WRITE(getvcpuextstate, vcpuextstate, xfeature_mask);
-      __POST_XEN_DOMCTL_WRITE(getvcpuextstate, vcpuextstate, size);
-      POST_MEM_WRITE((Addr)domctl->u.vcpuextstate.buffer.p,
-                     domctl->u.vcpuextstate.size);
+      if (domctl->u.vcpuextstate.buffer.p)
+         POST_MEM_WRITE((Addr)domctl->u.vcpuextstate.buffer.p,
+                        domctl->u.vcpuextstate.size);
       break;
 
    case VKI_XEN_DOMCTL_shadow_op: