httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Murcko <ch...@telebase.com>
Subject Re: problems w/patch 40a under IRIX
Date Tue, 21 Nov 1995 15:24:14 GMT
Ben Laurie liltingly intones:
> 
> > 
> > There's no member tm_zone in a tm struct under IRIX 5.3. The 40a patch should
> > take this into account. IRIX already maintains a valid $TZ environment
> > variable. Linux also used to not have tm_zone in its tm struct, but I'm not
> > sure if that's different now. Here's a crude suggestion (derived from
> > Randy's patch):
> > 
> > *** util_script.c.orig  Sun Nov 19 12:50:50 1995
> > --- util_script.c       Sun Nov 19 12:55:50 1995
> > ***************
> > *** 103,112 ****
> >   {
> >       array_header *env_arr = table_elts (t);
> >       table_entry *elts = (table_entry *)env_arr->elts;
> > !     char **env = (char **)palloc (p, (env_arr->nelts + 1) *sizeof (char *));
> > !     int i, j;
> > !
> > !     for (i = 0, j = 0; i < env_arr->nelts; ++i) {
> >           if (!elts[i].key) continue;
> >         env[j++] = pstrcat (p, elts[i].key, "=", elts[i].val, NULL);
> >       }
> > --- 103,122 ----
> >   {
> >       array_header *env_arr = table_elts (t);
> >       table_entry *elts = (table_entry *)env_arr->elts;
> > !     char **env = (char **)palloc (p, (env_arr->nelts + 2) *sizeof (char *));
> > !     int i,j;
> > !     char *tz;
> > !     time_t ts;
> > !     struct tm *lt;
> > !
> > !     ts = time(NULL);
> > !     lt = localtime(&ts);
> > !#if !defined(IRIX) && !defined(LINUX)
> > !     tz = lt->tm_zone;
> > !#endif
> > !     j = 0;
> > !     if (tz != NULL) env[j++] = pstrcat(p, "TZ=", tz, NULL);
> 
> Oops! tz is uninitialized at this point under Irix/Linux. Core dumps loom.

Modern compilers will init tz to NULL. Were this an actual patch I would
do it explicitly in the tz declaration, to be safe.
> 
> > !     for (i = 0; i < env_arr->nelts; ++i) {
> >           if (!elts[i].key) continue;
> >         env[j++] = pstrcat (p, elts[i].key, "=", elts[i].val, NULL);
> >       }
> 

chuck
Chuck Murcko	Telebase Systems, Inc.	Wayne PA	chuck@telebase.com
And now, on a lighter note:
You have the body of a 19 year old.  Please return it before it gets
wrinkled.

Mime
View raw message