Email List: Xaustin-review-lX
[All Lists]

Defect in XBD Pathname

To: austin-review-l@xxxxxxxxxxxxx
Subject: Defect in XBD Pathname
From: drepper@xxxxxxxxxx
Date: Mon, 8 Jun 2009 07:56:12 +0100 (BST)
        Defect report from : Ulrich Drepper , Red Hat

(Please direct followup comments direct to austin-group-l@opengroup.org)

@ page 75 line 2147 section Pathname objection {ud-filename-colon}

Problem:

Edition of Specification (Year): 2008

Defect code :  2. Omission

The location of the bug is actually one place that is effected.  And I'm not 
sure where the final solution will apply.

The problem is the definition of PATH and similar environment variables and 
similar concepts.

The definition of PATH says:

This variable shall represent the sequence of path prefixes that certain 
functions and utilities apply in searching for an executable
file known only by a filename. The prefixes shall be separated by a
<colon> (’:’).


The definition of path prefix refers to pathname which in turn refers
to filename for the actual content of the string and the filename
definition says:

                                                                      The 
characters composing the name may be selected from the set of
all character values excluding the <slash> character and the null
byte.


I.e., the path components are not disallowed to contain colons.  This
makes it impossible to handle the pathname components correctly.  The
shell, execvp(), etc only see a string and cannot differentiate
between colons in pathname components and those between the paths
components.


We have to restrict filenames used in paths.  I think restricting
pathname to pathname components and then define pathname components
appropriately.


This problem spreads far beyond POSIX's use of path.

Action:

Change page 76, line 2053 to:

  A filename not containing a colon (':').


Change page 75, line 2147 from:

  [..] followed by zero or more filenames separated [...]

to

  [..] followed by zero or more pathname components separated [...]

<Prev in Thread] Current Thread [Next in Thread>