Hi Garrett

 >     Wouldn't it just be better to memset(&list, 0, sizeof(list)) the
 > array and just set that one array value to &aiocb[0]? Seems like a
 > much better idea...

Thank you for your good idea.
I applied it.

Regards,
Yasuaki Ishimatsu

--------------------------------------------------------------------------
When the aio_suspend/3-1.test ran, SIGSEGV occured with following message
on my x86_64 box.

---
/bin/sh: line 38: 10675 Segmentation fault      ./t0 240 
conformance/interfaces/aio_suspend/3-1.test
  $COMPLOG 2>&1
---

This test does not initialize a list[1] array as follows.

---
  40 int main()
...
  88         list[0] = NULL;
  89         list[2] = &aiocb[0];
  90         list[3] = NULL;
  91         list[4] = NULL;
  92         list[5] = &aiocb[1];
  93         list[6] = &aiocb[2];
  94         list[7] = NULL;
...
---

So, list[1] holds a strange value. Since aio_suspend() uses this value as 
address,
SIGSEGV occurred.

When applying this patch, this test succeeds as follows.

---
conformance/interfaces/aio_suspend/3-1: execution: PASS
---

Signed-off-by: Yasuaki Ishimatsu <[email protected]>

Index: 
ltp-2010-01-28/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
===================================================================
--- 
ltp-2010-01-28.orig/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
 
2010-01-28 09:10:48.000000000 +0900
+++ 
ltp-2010-01-28/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
 
2010-01-28 09:11:16.000000000 +0900
@@ -81,13 +81,11 @@ int main()
                }
        }

-       list[0] = NULL;
+       memset(&list, 0, sizeof(list));
+
        list[2] = &aiocb[0];
-       list[3] = NULL;
-       list[4] = NULL;
        list[5] = &aiocb[1];
        list[6] = &aiocb[2];
-       list[7] = NULL;

        if (aio_suspend(list, NENT, NULL) != 0)
        {


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to