On Mon, Aug 11, 2014 at 04:53:06PM +0800, zhanghailiang wrote: > Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com>
Acked-by: Riku Voipio <riku.voi...@linaro.org> > --- > linux-user/syscall.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index a50229d..8e5ccf1 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -2870,6 +2870,10 @@ static inline abi_long do_msgsnd(int msqid, abi_long > msgp, > if (!lock_user_struct(VERIFY_READ, target_mb, msgp, 0)) > return -TARGET_EFAULT; > host_mb = malloc(msgsz+sizeof(long)); > + if (!host_mb) { > + unlock_user_struct(target_mb, msgp, 0); > + return -TARGET_ENOMEM; > + } > host_mb->mtype = (abi_long) tswapal(target_mb->mtype); > memcpy(host_mb->mtext, target_mb->mtext, msgsz); > ret = get_errno(msgsnd(msqid, host_mb, msgsz, msgflg)); > -- > 1.7.12.4 > >