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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 0304 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 0304.


Report 0304 Actions


    Problem Report Number 0304
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0020
    Raised 1994-02-17 08:00
    Updated 2003-03-13 08:00
    Published 1994-02-22 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.2
    Test Identification XPG4.os/ipc/msgrcv 11
    Specification System Interfaces and Headers Issue 4
    Location in Spec See Problem Text
    Problem Summary PIN4.020 msgrcv() does not return EINVAL bacause the value of msgsz is never less than zero. The msgsz parameter is required by the XPG4 spec to be of type size_t. According to ANSI C standard, the size_t para...
    Problem Text

    msgrcv() does not return EINVAL bacause the value of msgsz
    is never less than zero.

    The msgsz parameter is required by the XPG4 spec to be of type
    size_t. According to ANSI C standard, the size_t parameter is an
    unsigned integral type. Unsigned types Do NOT have negative values.
    .FE


    Test Output

    /tset/XPG4.os/ipc/msgrcv/T.msgrcv 11 Failed

    Test Description:
    EINVAL in errno and return -1 on a call to msgrcv(msqid, msgp, msgsz,
    msgtp, msgflg) when msgsz is less than 0.

    Test Strategy:
    CREATE message path with crfile()
    CREATE a child process with cppair()
    CREATE key and message queue with ftok() and msgget()
    SEND four messages with msgsnd()
    CREATE child process with cppair()
    CHILD:
    ATTEMPT to get message using msgrcv() with msqsz set to an invalid
    size.
    VERIFY that msgrcv() returns -1 and sets 'errno' to EINVAL.
    PARENT:
    WAIT for child to exit with waitchild()

    Test Information:
    msgsnd() failed - unexpected results
    RETURN VALUES: expected: -1, observed: 15
    ERRNO VALUES: expected: 22 (EINVAL), observed: 2 (ENOENT)

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    There is a discrepency in the XSH specification of msgrcv() where the
    type of the message size argument is given as size_t, which is required
    to be an unsigned integral type, and the EINTR error indication which is
    raised when the message size argument is less than zero. Since this
    situation cannot occur, a permanent interpretation is recommended for
    this test case.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Permanent Interpretation (PIN)
    Review Conclusion
    A permanent interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority