Anonymous | Login | 2024-03-28 21:34 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0000669 | [1003.1(2008)/Issue 7] System Interfaces | Objection | Clarification Requested | 2013-03-12 00:31 | 2019-06-10 08:55 | ||
Reporter | philip-guenther | View Status | public | ||||
Assigned To | ajosey | ||||||
Priority | normal | Resolution | Accepted As Marked | ||||
Status | Closed | ||||||
Name | Philip Guenther | ||||||
Organization | OpenBSD | ||||||
User Reference | |||||||
Section | mkdtemp/mkstemp | ||||||
Page Number | 1292 | ||||||
Line Number | 42419 | ||||||
Interp Status | Approved | ||||||
Final Accepted Text | Note: 0001488 | ||||||
Summary | 0000669: mkdtemp/mkstemp handling of template with more than 6 'X's should be clarified | ||||||
Description |
The description of mkdtemp and mkstemp is unclear as to whether the implementation is allowed to change _more_ than 6 trailing 'X's. The current wording says: ---- The mkdtemp() function uses the contents of template to construct a unique directory name. The string provided in template shall be a filename ending with six trailing 'X's. The mkdtemp() function shall replace each 'X' with a character from the portable filename character set. ---- While a template ending with seven trailing X's does also ends with six trailing 'X' (and 5, 4, 3, etc), The reference to "each 'X'" might be read to refer to "six trailing 'X's" and therefore limit the implementation to only changing the last 6, even if there are more than 6 trailing 'X's. The wording should be changed to make it clear that an implementation may change all trailing 'X's. (The original mkdtemp() implementation in 1997 in OpenBSD's libc would change all trailing 'X's, so this has been a possibility with mkdtemp() from before it was even standardized.) The same goes for mkstemp(), of course. Note that implementation are certainly not _required_ to change all the X's. Indeed, if the pathname in the unchanged template doesn't exist at the time of the call then it can create the path with all those X's and return with the template unchanged, but that's not something the application be depend upon. |
||||||
Desired Action |
Change the second two sentences of the DESCRIPTION from this: The string provided in template shall be a filename ending with six trailing 'X's. The mkdtemp() function shall replace each 'X' with a character from the portable filename character set. to The string provided in template shall be a filename ending with at least six trailing 'X's. The mkdtemp() function shall replace each trailing 'X' with a character from the portable filename character set. and change this sentence: The string in template should look like a filename with six trailing 'X's; mkstemp() replaces each 'X' with a character from the portable filename character set. to The string in template shall be a filename with at least six trailing 'X's; mkstemp() replaces each trailing 'X' with a character from the portable filename character set. and (perhaps) add to the APPLICATION USAGE section: Since 'X' is in the portable filename character set, mkstemp() may leave 'X's unchanged in the template. |
||||||
Tags | tc2-2008 | ||||||
Attached Files | |||||||
|
Issue History | |||
Date Modified | Username | Field | Change |
2013-03-12 00:31 | philip-guenther | New Issue | |
2013-03-12 00:31 | philip-guenther | Status | New => Under Review |
2013-03-12 00:31 | philip-guenther | Assigned To | => ajosey |
2013-03-12 00:31 | philip-guenther | Name | => Philip Guenther |
2013-03-12 00:31 | philip-guenther | Organization | => OpenBSD |
2013-03-12 00:31 | philip-guenther | Section | => mkdtemp/mkstemp |
2013-03-12 00:31 | philip-guenther | Page Number | => 1292 |
2013-03-12 00:31 | philip-guenther | Line Number | => 42419 |
2013-03-12 09:45 | geoffclare | Note Added: 0001488 | |
2013-03-12 09:56 | geoffclare | Note Edited: 0001488 | |
2013-03-12 14:46 | geoffclare | Note Edited: 0001488 | |
2013-04-01 03:59 | dalias | Note Added: 0001528 | |
2013-04-05 08:29 | philip-guenther | Note Added: 0001532 | |
2013-04-11 15:43 | geoffclare | Note Edited: 0001488 | |
2013-04-11 15:44 | geoffclare | Interp Status | => Pending |
2013-04-11 15:44 | geoffclare | Final Accepted Text | => Note: 0001488 |
2013-04-11 15:44 | geoffclare | Status | Under Review => Interpretation Required |
2013-04-11 15:44 | geoffclare | Resolution | Open => Accepted As Marked |
2013-04-11 15:44 | geoffclare | Note Edited: 0001488 | |
2013-04-11 15:47 | geoffclare | Tag Attached: tc2-2008 | |
2013-09-06 04:58 | ajosey | Interp Status | Pending => Proposed |
2013-09-06 04:58 | ajosey | Note Added: 0001817 | |
2013-10-14 13:04 | ajosey | Interp Status | Proposed => Approved |
2013-10-14 13:04 | ajosey | Note Added: 0001886 | |
2019-06-10 08:55 | agadmin | Status | Interpretation Required => Closed |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |