Austin Group Defect Tracker

Aardvark Mark IV


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0000939 [1003.1(2013)/Issue7+TC1] System Interfaces Objection Clarification Requested 2015-04-24 09:04 2019-06-10 08:54
Reporter geoffclare View Status public  
Assigned To
Priority normal Resolution Accepted As Marked  
Status Closed  
Name Geoff Clare
Organization The Open Group
User Reference
Section freeaddrinfo()
Page Number 924
Line Number 31149
Interp Status ---
Final Accepted Text see Note: 0002669
Summary 0000939: Clarify getaddrinfo() hints initialisation
Description There are a few problems with the text, "In this hints structure every member other than ai_flags, ai_family, ai_socktype, and ai_protocol shall be set to zero or a null pointer."

1. This is intended to be a requirement on the application, and so should be worded as "The application shall ensure that ..."

2. It is not clear whether "every member" refers only to the standard members or includes any non-standard additional members. I.e. can applications just set the standard members explicitly and leave any non-standard additional members with indeterminate values, or do they have to use a form of initialisation (as in the example) that implicitly sets all non-standard additional members to zero/null?

The intention seems to be that "every" includes any non-standard additional members (otherwise why require ai_addrlen, ai_addr, ai_canonname, and ai_next to be set to zero or null).

3. Requiring that members other than ai_flags, ai_family, ai_socktype, and ai_protocol are set to zero/null disallows the use of extensions by applications. The standard should allow them to be set to an implementation-defined value (making clear that this is in order to make use of an extension) as an alternative.
Desired Action On Page: 924 Line: 31149 Section: freeaddrinfo()

In the DESCRIPTION section, change from:

In this hints structure every member other than ai_flags, ai_family, ai_socktype, and ai_protocol shall be set to zero or a null pointer.

to:

The application shall ensure that each of the ai_addrlen, ai_addr, ai_canonname, and ai_next members, as well as each of the non-standard additional members, if any, of this hints structure is either
* set to zero or a null pointer, or

* set to an implementation-defined value (in order to make use of an extension).

Tags tc2-2008
Attached Files

- Relationships
related to 0000918Closed C99 forbids "struct addrinfo hints = {}" 
related to 0000934Closed Requirement for zeroing the sockaddr_in and sockaddr_un structures. 

-  Notes
(0002668)
geoffclare (manager)
2015-05-14 16:32

During discussion of 0000934 it was realised that the wording in the desired action of this bug does not cope properly with additional non-standard members that are themselves structures. Therefore this bug will need to be revisited once 934 is resolved.
(0002669)
rhansen (manager)
2015-05-14 16:56

On Page: 924 Line: 31149 Section: freeaddrinfo(), in the DESCRIPTION section, change from:
In this hints structure every member other than ai_flags, ai_family, ai_socktype, and ai_protocol shall be set to zero or a null pointer.
to:
The application shall ensure that each of the ai_addrlen, ai_addr, ai_canonname, and ai_next members, as well as each of the non-standard additional members, if any, of this hints structure is initialized. If any of these members has a value other than the value that would result from default initialization, the behavior is implementation-defined.

- Issue History
Date Modified Username Field Change
2015-04-24 09:04 geoffclare New Issue
2015-04-24 09:04 geoffclare Name => Geoff Clare
2015-04-24 09:04 geoffclare Organization => The Open Group
2015-04-24 09:04 geoffclare Section => freeaddrinfo()
2015-04-24 09:04 geoffclare Page Number => 924
2015-04-24 09:04 geoffclare Line Number => 31149
2015-04-24 09:04 geoffclare Interp Status => ---
2015-04-24 09:06 geoffclare Relationship added related to 0000918
2015-04-24 09:46 geoffclare Relationship added related to 0000934
2015-05-14 15:18 Don Cragun Status New => Resolved
2015-05-14 15:18 Don Cragun Resolution Open => Accepted
2015-05-14 15:19 Don Cragun Tag Attached: tc2-2008
2015-05-14 16:32 geoffclare Note Added: 0002668
2015-05-14 16:32 geoffclare Status Resolved => Under Review
2015-05-14 16:32 geoffclare Resolution Accepted => Reopened
2015-05-14 16:56 rhansen Note Added: 0002669
2015-05-21 15:06 rhansen Final Accepted Text => see Note: 0002669
2015-05-21 15:06 rhansen Status Under Review => Resolved
2015-05-21 15:06 rhansen Resolution Reopened => Accepted As Marked
2019-06-10 08:54 agadmin Status Resolved => Closed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker