Re: [BUG] Broken code in orb.c
- From: "Momchil 'Velco' Velikov" <velco fadata bg>
- To: Raja R Harinath <harinath cs umn edu>
- CC: GNOME Discussiion <gnome-list gnome org>
- Subject: Re: [BUG] Broken code in orb.c
- Date: Sat, 23 Jan 1999 14:05:48 +0200
Raja R Harinath wrote:
>
> "Momchil 'Velco' Velikov" <velco@fadata.bg> writes:
> > Well, the code is just wrong ... here's a patch
> >
> > Regards,
> > -velco--- orb.c.old Sat Jan 23 03:23:58 1999
> > +++ orb.c Sat Jan 23 03:25:12 1999
> > @@ -306,8 +306,8 @@
> >
> > ctmp = g_get_home_dir();
> >
> > - buf = alloca(strlen(ctmp) + sizeof("/.orbitrc"));
> > - sprintf(ctmp, "%s/.orbitrc", buf);
> > + buf = alloca(strlen(ctmp) + 9 /* strlen("/.orbitrc") */ + 1 );
> > + sprintf(buf, "%s/.orbitrc", ctmp);
> > ORBit_rc_load(buf, options);
> > }
>
> What?...
>
> What's wrong with `sizeof("/.orbitrc")'. The C compiler is smart
> enough to figure out the size occupied by a string literal (and yes,
> it also takes into account the trailing \0).
Shame, shame, shame ...
sizeof() is perfectly OK. The problem is in the sprintf(), it caused
e.g. gnome-name-service to coredump in CORBA_ORB_init (or a few calls
deeper.),
and it went away when I swapped the parameters.
Regards,
-velco
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]