diff --git a/ChangeLog b/ChangeLog index 356a5d3790..af56bfcbdd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 1998-12-18 Ulrich Drepper + * sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Include + features.h and stddef.h. + * sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h (struct + sigaltstack): Move ss_size field at the end. + Patches by Jeff Bailey . + * time/getdate.c (check_mday): tm_mon contains values from 0 to 11, not 1 to 12. diff --git a/manual/time.texi b/manual/time.texi index 7b58ad4400..e8ae3c9585 100644 --- a/manual/time.texi +++ b/manual/time.texi @@ -1537,6 +1537,33 @@ multi-threaded applications. The @code{errno} variable is @emph{not} changed. Error conditions are signalled using the global variable @code{getdate_err}. See the description above for a list of the possible error values. + +@emph{Warning:} The @code{getdate} function should @emph{never} be +used in SUID-programs. The reason is obvious: using the +@code{DATEMSK} environment variable one can get the function to open +any arbitrary file and changes are high that with some bogus input +(such as a binary file) the program will crash. +@end deftypefun + +@comment time.h +@comment GNU +@deftypefun int getdate_r (const char *@var{string}, struct tm *@var{tp}) +The @code{getdate_r} function is the reentrant counterpart of +@code{getdate}. It does not use the global variable @code{getdate_err} +to signal the error but instead the return value now is this error code. +The same error codes as described in the @code{getdate_err} +documentation above are used. + +@code{getdate_err} also does not store the broken-down time in a static +variable. Instead it takes an second argument which must be a pointer +to a variable of type @code{struct tm} where the broken-down can be +stored. + +This function is not defined in the Unix standard. Nevertheless it is +available on some other Unix systems as well. + +As for @code{getdate} the warning for using this function in +SUID-programs applied to @code{getdate_r} as well. @end deftypefun @node TZ Variable diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h index 6c6ccae6a5..905e87fd95 100644 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h +++ b/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h @@ -50,6 +50,6 @@ enum typedef struct sigaltstack { __ptr_t ss_sp; - size_t ss_size; int ss_flags; + size_t ss_size; } stack_t; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h index aeba05b7b3..8c4a13ada9 100644 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h +++ b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h @@ -23,6 +23,10 @@ #ifndef _BITS_TYPES_H #define _BITS_TYPES_H 1 +#include + +#define __need_size_t +#include /* Convenience types. */ typedef unsigned char __u_char;