HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1406 Details

Help 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 FAIL

    Review 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:

     

    Back   


Contact the Certification Authority