|
From: <sv...@va...> - 2005-09-14 13:21:05
|
Author: sewardj
Date: 2005-09-14 14:21:00 +0100 (Wed, 14 Sep 2005)
New Revision: 4656
Log:
do_clone: if stack allocation fails, try to die a bit more elegantly.
Modified:
branches/ASPACEM/coregrind/m_syswrap/syswrap-amd64-linux.c
branches/ASPACEM/coregrind/m_syswrap/syswrap-ppc32-linux.c
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-amd64-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-09-14=
12:56:33 UTC (rev 4655)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-09-14=
13:21:00 UTC (rev 4656)
@@ -379,6 +379,10 @@
vg_assert(VG_(is_valid_tid)(ctid));
=20
stack =3D (UWord*)allocstack(ctid);
+ if (stack =3D=3D NULL) {
+ res =3D VG_(mk_SysRes_Error)( VKI_ENOMEM );
+ goto out;
+ }
=20
/* Copy register state
=20
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-ppc32-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-ppc32-linux.c 2005-09-14=
12:56:33 UTC (rev 4655)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-ppc32-linux.c 2005-09-14=
13:21:00 UTC (rev 4656)
@@ -437,6 +437,10 @@
vg_assert(VG_(is_valid_tid)(ctid));
=20
stack =3D allocstack(ctid);
+ if (stack =3D=3D NULL) {
+ res =3D VG_(mk_SysRes_Error)( VKI_ENOMEM );
+ goto out;
+ }
=20
//? /* make a stack frame */
//? stack -=3D 16;
|