|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1406 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1406.
Report 1406 Actions
Problem Report Number 1406 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0688 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1996-04-26 08:00 Product Standard Sockets (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification sockets/sendmsg 12 Problem Summary TSD4U.00127 This test may fail on implementations that detect unallocated storage and return EFAULT. Problem Text
This test may fail on implementations that detect unallocated
storage and return EFAULT.
There are two problems with this test case:
a) test12C should have tested TestData2 for NULL
instead of testing TestData. This is an obvious
bug. The following is the actual test code:
TestData2 = malloc(1L<<(bpss-2));
if (TestData == NULL) {
sprintf(ebuf, "ERROR: Could not malloc memory of necessary size");
abortserver(TET_FAIL, pid);
return;
}
Siovec[0].iov_base = TestData2;
Siovec[0].iov_len = 1L<<(bpss-2);
Siovec[1].iov_base = TestData2;
Siovec[1].iov_len = 1L<<(bpss-2);
tet_infoline("TEST: Send data with excessive lengths");
SET_ALARM(WAIT_FOR_TIME*4);
ret = sendmsg(s, &Shdr, 0);
tet_infoline("TEST: Return value");
if (ret != -1) {
sprintf((char *)&ebuf[0], "ERROR: sendmsg call succeeded unexpectedly, returned %i", ret);
b) This test attempts to test the condition that would generate
a [EINVAL] error when the sum of the iov_len values overflows
an ssize_t.
This test tries to accomplish this objective by allocating
a buffer of the maximum size a ssize_t can represent and
passes this buffer twice in the same iovec structure to
sendmsg().
Note, bpss is a local variable that is
initialized to the number of bits in a word in the test system
by calling a macros, BITS_IN().
It is a configuration and implementation issue on how large a
buffer can be allocated by malloc(), therefore X/Open
specification is deliberately open on this issue for good
reasons. Similarly it should not be considered a test case
failure if a test system cannot allocate a buffer of ssize_t
size. We would recommend that this test return
TET_UNSUPPORTED if the system cannot allocate a buffer of
ssize_t size.Test Output
TEST CASE: sendmsg
TEST PURPOSE #12
If the implementation supports a communications domain
and a socket type:
EINVAL in errno and return -1 on a call to ssize_t
sendmsg(int socket, const struct msghdr *message, int
flags) when the sum of the iov_len values overflows a
ssize_t.
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 15.14.144.53, port = 2805
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect socket to address 15.14.144.53, port 2805
TEST: Send data with excessive lengths
TEST: Return value
TEST: errno value
ERROR: sendmsg call failed incorrectly, errno was 14(EFAULT - Bad address) should have been EINVAL
CLEANUP: Send SIGTERM to server
PREP: Server: create socket
PREP: Server: bind address 15.14.144.53, port 2805 to socket
PREP: Server: listen on socket
PREP: Server: notify client server is ready
PREP: Server: accept connection
INFO: Server: accepted connection from address 15.14.144.53, port 1215
PREP: echo_server: read and echo data
INFO: Server received signal 15
INFO: Server terminated
12 FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We agree this is a test suite deficiency in the test
suite version(s) listed based solely on argument a above.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 1406
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority