Anonymous | Login | 2023-12-06 14:23 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 | ||
0000398 | [1003.1(2008)/Issue 7] System Interfaces | Objection | Error | 2011-03-17 21:58 | 2020-02-21 16:35 | ||
Reporter | eblake | View Status | public | ||||
Assigned To | ajosey | ||||||
Priority | normal | Resolution | Accepted | ||||
Status | Applied | ||||||
Name | Eric Blake | ||||||
Organization | Red Hat | ||||||
User Reference | ebb.ERANGE | ||||||
Section | getgrgid_r | ||||||
Page Number | 1014 | ||||||
Line Number | 34031 | ||||||
Interp Status | Approved | ||||||
Final Accepted Text | See Note: 0000796 | ||||||
Summary | 0000398: mandatory ERANGE failures on insufficient buffer size | ||||||
Description |
Several interfaces in the standard take a pointer and length of a buffer, to fill in the result in a re-entrant manner. While some of these interfaces document a mandatory ERANGE failure if the length is too small to hold the resulting string (such as getpwd), others designate the failure as optional. Considering that the standard even has several examples (such as getgidgr_r and getgrnam_r) that assume mandatory ERANGE, it is better to require this failure reliably; so that there is a consistent idiom of trying successively larger buffers until the function succeeds or there is an error other than ERANGE. |
||||||
Desired Action |
At line 34031 [getgrgid ERRORS], change "getgrgid_r() function may fail" to "getgrgid_r() function shall fail". At line 34160 [getgrnam ERRORS], change "getgrnam_r() function may fail" to "getgrnam_r() function shall fail". At line 34478 [getlogin ERRORS], change "getlogin_r() function may fail" to "getlogin_r() function shall fail". At line 35330 [getpwnam ERRORS], change "getpwnam_r() function may fail" to "getpwnam_r() function shall fail". At line 35462 [getpwuid ERRORS], change "getpwuid_r() function may fail" to "getpwuid_r() function shall fail". At line 63270 [strerror ERRORS], change "strerror_r() function may fail" to "strerror_r() function shall fail". At line 63303 [strerror RATIONALE], add a sentence: "Additionally, implementations are encouraged to NUL-terminate strerrbuf when failing with ERANGE for any size other than buflen of zero." At line 67667 [ttyname ERRORS], change "The ttyname() function may fail" to "these functions may fail". At line 67670, change "ttyname_r() function may fail" to "ttyname_r() function shall fail". Then delete lines 67671-67672, resulting in EBADF and ENOTTY as common may fail errors, and ERANGE as a shall fail error. |
||||||
Tags | issue8 | ||||||
Attached Files | |||||||
|
![]() |
||||||||||||||||
|
![]() |
|||
Date Modified | Username | Field | Change |
2011-03-17 21:58 | eblake | New Issue | |
2011-03-17 21:58 | eblake | Status | New => Under Review |
2011-03-17 21:58 | eblake | Assigned To | => ajosey |
2011-03-17 21:58 | eblake | Name | => Eric Blake |
2011-03-17 21:58 | eblake | Organization | => Red Hat |
2011-03-17 21:58 | eblake | User Reference | => ebb.ERANGE |
2011-03-17 21:58 | eblake | Section | => getgrgid_r |
2011-03-17 21:58 | eblake | Page Number | => 1014 |
2011-03-17 21:58 | eblake | Line Number | => 34031 |
2011-03-17 21:58 | eblake | Interp Status | => --- |
2011-03-17 21:59 | eblake | Relationship added | related to 0000382 |
2011-03-17 22:02 | eblake | Desired Action Updated | |
2011-05-26 16:05 | Don Cragun | Interp Status | --- => Pending |
2011-05-26 16:05 | Don Cragun | Note Added: 0000796 | |
2011-05-26 16:05 | Don Cragun | Status | Under Review => Interpretation Required |
2011-05-26 16:05 | Don Cragun | Resolution | Open => Accepted |
2011-05-26 16:05 | Don Cragun | Desired Action Updated | |
2011-05-26 16:06 | Don Cragun | Tag Attached: issue8 | |
2011-05-26 16:10 | Don Cragun | Final Accepted Text | => See Note: 0000796 |
2011-06-16 10:15 | ajosey | Interp Status | Pending => Proposed |
2011-06-16 10:15 | ajosey | Note Added: 0000843 | |
2011-07-29 06:15 | ajosey | Interp Status | Proposed => Approved |
2011-07-29 06:15 | ajosey | Note Added: 0000909 | |
2012-10-03 03:30 | eblake | Relationship added | parent of 0000618 |
2020-02-21 16:35 | geoffclare | Status | Interpretation Required => Applied |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |