qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] fix recvmsg return value
@ 2008-10-15 22:02 Lauro Ramos Venancio
  0 siblings, 0 replies; 2+ messages in thread
From: Lauro Ramos Venancio @ 2008-10-15 22:02 UTC (permalink / raw)
  To: qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 118 bytes --]

Recvmsg must return the number of bytes received.

-- 
Lauro Ramos Venancio
INdT - Instituto Nokia de Tecnologia

[-- Attachment #1.2: fix_recvmsg_return_value.patch --]
[-- Type: text/x-patch, Size: 965 bytes --]

Index: qemu-arm-eabi/linux-user/syscall.c
===================================================================
--- qemu-arm-eabi.orig/linux-user/syscall.c	2008-10-09 15:04:44.000000000 -0300
+++ qemu-arm-eabi/linux-user/syscall.c	2008-10-09 15:21:27.000000000 -0300
@@ -1267,7 +1267,7 @@
 static abi_long do_sendrecvmsg(int fd, abi_ulong target_msg,
                                int flags, int send)
 {
-    abi_long ret;
+    abi_long ret, len;
     struct target_msghdr *msgp;
     struct msghdr msg;
     int count;
@@ -1308,8 +1308,12 @@
             ret = get_errno(sendmsg(fd, &msg, flags));
     } else {
         ret = get_errno(recvmsg(fd, &msg, flags));
-        if (!is_error(ret))
+        if (!is_error(ret)) {
+            len = ret;
             ret = host_to_target_cmsg(msgp, &msg);
+            if (!is_error(ret))
+                ret = len;
+        }
     }
     unlock_iovec(vec, target_vec, count, !send);
 fail:

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread
* [Qemu-devel] [PATCH] fix recvmsg return value
@ 2008-10-15 22:57 Lauro Ramos Venancio
  0 siblings, 0 replies; 2+ messages in thread
From: Lauro Ramos Venancio @ 2008-10-15 22:57 UTC (permalink / raw)
  To: qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 118 bytes --]

Recvmsg must return the number of bytes received.

-- 
Lauro Ramos Venancio
INdT - Instituto Nokia de Tecnologia

[-- Attachment #1.2: fix_recvmsg_return_value.patch --]
[-- Type: text/x-patch, Size: 965 bytes --]

Index: qemu-arm-eabi/linux-user/syscall.c
===================================================================
--- qemu-arm-eabi.orig/linux-user/syscall.c	2008-10-09 15:04:44.000000000 -0300
+++ qemu-arm-eabi/linux-user/syscall.c	2008-10-09 15:21:27.000000000 -0300
@@ -1267,7 +1267,7 @@
 static abi_long do_sendrecvmsg(int fd, abi_ulong target_msg,
                                int flags, int send)
 {
-    abi_long ret;
+    abi_long ret, len;
     struct target_msghdr *msgp;
     struct msghdr msg;
     int count;
@@ -1308,8 +1308,12 @@
             ret = get_errno(sendmsg(fd, &msg, flags));
     } else {
         ret = get_errno(recvmsg(fd, &msg, flags));
-        if (!is_error(ret))
+        if (!is_error(ret)) {
+            len = ret;
             ret = host_to_target_cmsg(msgp, &msg);
+            if (!is_error(ret))
+                ret = len;
+        }
     }
     unlock_iovec(vec, target_vec, count, !send);
 fail:

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-10-15 22:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-15 22:02 [Qemu-devel] [PATCH] fix recvmsg return value Lauro Ramos Venancio
  -- strict thread matches above, loose matches on Subject: below --
2008-10-15 22:57 Lauro Ramos Venancio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).