View Issue Details

IDProjectCategoryView StatusLast Update
0001665Issue 8 draftsSystem Interfacespublic2024-06-11 09:12
Reportergeoffclare Assigned To 
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
Product VersionDraft 3 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Sectionopen()
Page Number1506
Line Number50451, 50458
Final Accepted Text
Summary0001665: Contradictory text in descriptions of O_EXEC and O_SEARCH
DescriptionThe changes from bug 0000658 talk about the possibility of open() with O_EXEC on a directory, or O_SEARCH on a non-directory file, opening the file with an unspecified access mode. However, there is no circumstance in which text elsewhere allows this to happen.

For O_EXEC on a directory:
  • If O_EXEC is the same value as O_SEARCH, the description of O_SEARCH applies and the directory is opened for searching.

  • If O_EXEC is not the same value as O_SEARCH, the ERRORS section mandates
    an EISDIR error.


Similarly for O_SEARCH on a non-directory file and ENOTDIR.
Desired ActionOn page 1506 line 50451 section open() O_EXEC, change:
If path names a directory, it is unspecified whether open() fails, or whether the directory is opened but with an unspecified access mode.
to:
If path names a directory and O_EXEC is not the same value as O_SEARCH, open() shall fail.

On page 1506 line 50458 section open() O_SEARCH, change:
If path names a non-directory file, it is unspecified whether open() fails, or whether the file is opened but with an unspecified access mode.
to:
If path names a non-directory file and O_SEARCH is not the same value as O_EXEC, open() shall fail.

On page 1506 line 50462 section open(), delete:
If a file is successfully opened with an unspecified access mode, an application can use fcntl() to discover the access mode that was selected.

On page 1513 line 50753 section open() RATIONALE, change:
Although the standard allows open() to fail on an attempt to use O_EXEC on a directory, or O_SEARCH on a non-directory, this is only possible in implementations where the two modes have distinct values.
to:
Although this standard requires open() to fail on an attempt to use O_EXEC on a directory, or O_SEARCH on a non-directory, this only applies in implementations where the two modes have distinct values.

Tagsapplied_after_i8d3, issue8

Relationships

related to 0000658 Closedajosey 1003.1(2008)/Issue 7 Undefined/unspecified behavior clauses in description of open have race conditions 
related to 0001843 Resolved 1003.1(2024)/Issue8 description of O_EXEC+O_SEARCH not updated after defect 658 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2023-04-13 09:15 geoffclare New Issue
2023-04-13 09:15 geoffclare Name => Geoff Clare
2023-04-13 09:15 geoffclare Organization => The Open Group
2023-04-13 09:15 geoffclare Section => open()
2023-04-13 09:15 geoffclare Page Number => 1506
2023-04-13 09:15 geoffclare Line Number => 50451, 50458
2023-04-13 09:16 geoffclare Relationship added related to 0000658
2023-06-08 16:08 Don Cragun Status New => Resolved
2023-06-08 16:08 Don Cragun Resolution Open => Accepted
2023-06-08 16:08 Don Cragun Tag Attached: issue8
2023-06-27 15:17 geoffclare Status Resolved => Applied
2023-06-27 15:17 geoffclare Tag Attached: applied_after_i8d3
2024-06-11 09:12 agadmin Status Applied => Closed
2024-07-22 08:54 geoffclare Relationship added related to 0001843