|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1352 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 1352.
Report 1352 Actions
Problem Report Number 1352 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0634 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1997-04-28 08:00 Product Standard Sockets (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.1 Test Identification sockets/getsockopt 12-13 Problem Summary TSD4U.00183 This test may fail because the IUT detects an invalid val_size before an EBADF. Problem Text
On our implementation,
as part of the syscall interface, the user parameters are copied into
kernel storage. As part of this copy the option_len field is checked.
If the length is greater than 5000, an error is generated (the one that
we got in this case). If the field had been less than 5000, then the
next thing that is done is to check the address pointed to by
option_value and if that is not valid storage, an error would be
generated. Since neither the option_len field nor the option_value
field are initialized in the testcase the contents of these fields is
unpredictable and could cause an error to occur at this point.
Once the parameters are moved into kernel storage, then the socket
descriptor is checked to verify that it is a valid socket descriptor
and a failure generated if it is not.
When a call is made to getsockopt with
at least 2 errors (the bad descriptor, and an uninitialized length
field) we catch a checked the parameters in a different order
than was expected. We believe that our order should be acceptable.Test Output
TEST CASE: getsockopt
TEST PURPOSE #12
EBADF in errno and return -1 on a call to int
getsockopt(int socket, int level, int option_name,
void *option_value, size_t *option_len) when socket is
not a valid file descriptor.
PREP: Open & close file to get bad fd
TEST: Call getsockopt with invalid socket descriptor
TEST: Return value
TEST: errno value
ERROR: getsockopt call failed incorrectly, errno was 158(error not
defined in XPG4V2) should have been EBADF
12 FAIL
TEST PURPOSE #13
ENOTSOCK in errno and return -1 on a call to int
getsockopt(int socket, int level, int option_name,
void *option_value, size_t *option_len) when socket
does not refer to a socket.
PREP: Create a regular file
TEST: Call getsockopt with file descriptor
TEST: Return value
TEST: errno value
ERROR: getsockopt call failed incorrectly, errno was 158(error not
defined in XPG4V2) should have been ENOTSOCK
13 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.
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 1352
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority