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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0506 Actions


    Problem Report Number 0506
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0125
    Raised 1995-11-10 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.5
    Test Identification POSIX.os/dataform/cpio 1 24 25 26
    Problem Summary PG4R.126 We believe the above failures are due to a coding error in cpio3.c In the two functions: mount31ch() and umount31ch(), the following declaration is made: char *args[9]; Later on the code uses in exec_...
    Problem Text

    *******************************************************************
    We believe the above failures are due to a coding error in cpio3.c
    In the two functions: mount31ch() and umount31ch(), the following
    declaration is made:

    char *args[9];

    Later on the code uses in exec_suproc() :

    char *args[10];

    args[0] = (char*) execpath(prog_su);
    args[1] = teststr;
    args[2] = euid;
    args[3] = egid;
    args[4] = expuid;
    args[5] = expgid;
    args[6] = vg_ident;
    args[7] = execsubuf;
    args[8] = vg_dbug;
    args[9] = (char *)NULL;

    The args array is declared to have 9 elements, but 10 are filled in.
    With our strict ANSI/C compiler, the last assignment statement is
    corrupting random memory access. These failures disappear when
    the args array in the mount31ch() and umount31ch() functions is
    declared as: char *args[10];

    *******************************************************************
    Test Output

    ********************************************************************
    /tset/POSIX.os/dataform/cpio/T.cpio 1 Unresolved

    Test Description:

    For the XNFS specification:
    When an archive is restored by a process with appropriate
    privileges on to a remote file system and the server does not map
    the process's effective user ID, then the archive contents shall
    be restored with user and group IDs and permissions exactly as
    recorded on the medium.

    For the XSH specification:
    A process with appropriate permissions shall restore the ownership
    and permissions exactly as recorded on the medium.
    Posix Ref: Component Data Interchange Format Assertion 10.1-10(C)

    Test Information:
    chown() failed - errno 2

    ********************************************************************
    /tset/POSIX.os/dataform/cpio/T.cpio 24 Unresolved

    Test Description:
    For the CPIO format, the user ID of an extracted file is set to the
    process's effective user ID when used by a nonprivileged process.
    Posix Ref: Component Data Interchange Format Assertion 10.1-04(A)

    Test Information:
    chown() failed - errno 2
    ********************************************************************
    /tset/POSIX.os/dataform/cpio/T.cpio 25 Unresolved

    Test Description:
    For the XNFS specification:
    Not in use.

    For the XSH specification:
    For the CPIO format, the group ID of an extracted file is set to
    the process's effective group ID or to the group owner of its
    parent directory when used by a nonprivileged process.
    Note: in FIPS and XPG4 modes the group ID of the file must be set
    to the group ID of its parent directory.
    Posix Ref: Component Data Interchange Format Assertion 10.1-05(A)

    Test Information:
    chown() failed - errno 2
    *******************************************************************
    /tset/POSIX.os/dataform/cpio/T.cpio 26 Unresolved

    Test Description:
    For the CPIO format, the file permission mode of an extracted file
    shall be set to the matching file permission value as supplied by the
    c_mode field of the CPIO archived file modified appropriately by
    current umask() when used by a nonprivileged process.
    Posix Ref: Component Data Interchange Format Assertion 10.1-06(A)

    Test Information:
    chown() failed - errno 2
    *******************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The analysis of the supposed fault seems to be erroneous. The declarations
    for args[] in the functions in question are separate and should not affect
    each other since the declarations have function scope. Moreover, the cases
    of args[9] both occur in functions which are only compiled for the XNFS
    test suite. There is no indication that this was an XNFS test, and the change
    to the source file should not have made any difference. It is also surprising
    that this should have resulted in the failure of a chown() call on a program
    which contains neither of these functions.

    It seems that there has been a build failure when the test case was originaly
    generated which caused the chown() failure. The change to the source has
    caused a recompilation to occur and the executable to be installed.

    If there was a compilation error in the original build, a build time failure
    would have been reported and the results from the build would need to be
    supplied as well as the results from the execution.

    It is recommended that this request is refused.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority