Patch/Bugfix for BOOTP in rtems-ss-20020205
Joel Sherrill
joel.sherrill at OARcorp.com
Tue Mar 19 19:29:45 UTC 2002
Thomas .. file a PR and put the final version of the patch
with it.
Till Straumann wrote:
>
> Thomas Doerfler wrote:
>
> > Hi Chris,
> >
> > ok, here is a corrected verison of my patch. Thank you for
> > your comments!
> >
> > wkr,
> > Thomas.
> >
> > > Thomas Doerfler wrote:
> > > >
> > > > Hm, good question. At least it would not hurt. But the line I
> > > > complaint is at the start of bootpc_init, long before any
> > > > bootp options are processed. So at least at the first run of
> > > > bootpc_init, "dhcp_hostname" is definitely NULL.
> > > >
>
> Well - I'd better make sure it's NULL initially:
>
> *** bootp_subr.c.orig Tue Mar 19 11:24:42 2002
> --- bootp_subr.c Tue Mar 19 11:24:55 2002
> ***************
> *** 694,700 ****
> static char dhcp_gotlogserver = 0;
> static struct sockaddr_in dhcp_netmask;
> static struct sockaddr_in dhcp_gw;
> ! static char *dhcp_hostname;
>
> static void
> processOptions (unsigned char *optbuf, int optbufSize)
> --- 694,700 ----
> static char dhcp_gotlogserver = 0;
> static struct sockaddr_in dhcp_netmask;
> static struct sockaddr_in dhcp_gw;
> ! static char *dhcp_hostname=0;
>
> static void
> processOptions (unsigned char *optbuf, int optbufSize)
>
> otherwise, your patch seems to be both, necessary and
> correct - IMHO.
>
> Regards
>
> -- Till.
>
> >
> > >
> > > Any future runs if called could have dhcp_hostname set so we should free
> > > the memory. It is allocated using strdup.
> > >
> > > > The question is: can bootpc_init be called multiple times?
> > > > Normally it will only be called once after system boot, but
> > > > are there other situations?
> > >
> > > A system may have some form of redundant network configuration and so
> > > need to obtain a network address. This is just an example not a
> > > recommendation for a network design.
> > >
> > > --
> > > Chris Johns, cjohns at cybertec.com.au
> >
> > --------------------------------------------
> > IMD Ingenieurbuero fuer Microcomputertechnik
> > Thomas Doerfler Herbststrasse 8
> > D-82178 Puchheim Germany
> > email: Thomas.Doerfler at imd-systems.de
> > PGP public key available at: http://www.imd-
> > systems.de/pgp_key.htm
> >
> > ------------------------------------------------------------------------
> > --- rtems-ss-20020205/c/src/libnetworking/nfs/bootp_subr.c Wed Sep 19 19:30:38 2001
> > +++ /usr/local/projects/sandbox/zem40/rtems_patch/bootp_subr.c Tue Mar 19 12:39:24 2002
> > @@ -902,12 +902,15 @@
> > if (rtems_create_root_fs () < 0) {
> > printf("Error creating the root filesystem.\nFile not created.\n");
> > update_files = 0;
> > }
> >
> > - memset(dhcp_hostname, 0, sizeof(dhcp_hostname));
> > -
> > + if (dhcp_hostname != NULL) {
> > + free(dhcp_hostname);
> > + dhcp_hostname = NULL;
> > + }
> > +
> > /*
> > * Find a network interface.
> > */
> > for (ifp = ifnet; ifp != 0; ifp = ifp->if_next)
> > if ((ifp->if_flags &
--
Joel Sherrill, Ph.D. Director of Research & Development
joel at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users
mailing list