fix aio_suspend/3-1
PATCH 1/1 fix aio_suspend/3-1
Hi all
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
Quoted 1 line
$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
---
Index: ltp-2010-01-27/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
===================================================================
--- ltp-2010-01-27.orig/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
2010-01-27 11:44:30.000000000 +0900 +++ ltp-2010-01-27/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c 2010-01-27 11:45:23.000000000 +0900
@@ -82,6 +82,7 @@ int main()
}
list[0] = NULL;
+ list[1] = NULL;
list[2] = &aiocb[0];
list[3] = NULL;
list[4] = NULL;
------------------------------------------------------------------------------
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
Quoted 43 lines · Yasuaki Ishimatsu
Hi all
When the aio_suspend/3-1.test ran, SIGSEGV occured with following message on my
x86_64box.---
/bin/sh: line 38: 10675 Segmentation fault ./t0 240 conformance/interfaces/aio_suspend/3-1.testQuoted 1 line
$COMPLOG 2>&1
---
This test does not initialize a list[1] array as follows.
---
40 intmain()
...
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-27/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
===================================================================
--- ltp-2010-01-27.orig/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c2010-01-27 11:44:30.000000000 +0900 +++ ltp-2010-01-27/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c 2010-01-27 11:45:23.000000000 +0900
Review int main() · line 88
Quoted 7 lines
(quoted diff) +1
-0@@ -82,6 +82,7 @@ int main() } list[0] = NULL; + list[1] = NULL; list[2] = &aiocb[0]; list[3] = NULL; list[4] = NULL;
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...
Thanks,
-Garrett
------------------------------------------------------------------------------
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
Hi Garrett
Quoted 3 lines
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
---
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
Quoted 8 lines · Yasuaki Ishimatsu
Hi Garrett
Quoted 3 lines
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.
Committed -- thanks!
-Garrett
------------------------------------------------------------------------------
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