To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=65004
User sb changed the following:
What |Old value |New value
================================================================================
Status|NEW |STARTED
--------------------------------------------------------------------------------
------- Additional comments from [EMAIL PROTECTED] Wed May 10 01:53:38 -0700
2006 -------
[The sysconf call in this issue is the one in line 75 of
sal/osl/unx/security.c:1.19.]
@tra: The correct way to check for an error from sysconf is
errno = 0;
long n = sysconf(_SC_GETPW_R_SIZE_MAX);
if (n == -1) {
if (errno == 0) {
// (1) _SC_GETPW_R_SIZE_MAX has no limit
} else {
// (2) sysconf failed
}
} else {
// (3) _SC_GETPW_R_SIZE_MAX is n
}
The question is what to do in cases (1) and (2).
In case (1) (which I assume happens on MacOSX), some sensible n should be chosen
so that the later malloc(n) is unlikely to fail (which it would likely do for n
= SIZE_MAX). The 1024 currently used for MACOSX is probably ok. (The callers
of newSecurityImpl detect if the allocated buffer is too small for any specific
call to getpwnam_r and getpwuid_r, so a too small n will lead to an error
upstream, but not to a crash.)
In case (2) (which I assume never happens in practice), newSecurityImpl should
probably return NULL, to propagate the error.
@pjanik: I am a bit confused about your last comment about EnsureNoFinalSlash.
If there is a problem there (either EnsureNoFinalSlash is defined to accept the
file_url argument to point to NULL and then fails, or EnsureNoFinalSlash is
defined not to accept the file_url argument to point to NULL, but some code
calls it that way), please file an additional issue.
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]