PATCH: trailing nul bytes in abstract socket names
John (J5) Palmieri
johnp at redhat.com
Thu Sep 29 14:17:12 PDT 2005
Here is the patch with your suggestions. I now check the length and
return -1 with the error set if it is greater than
_DBUS_MAX_SUN_PATH_LENGTH. We assume no terminating nul byte. I still
have to write up the blurb in the spec.
On Wed, 2005-09-28 at 22:06 -0400, Havoc Pennington wrote:
> On Wed, 2005-09-28 at 20:50 -0400, John (J5) Palmieri wrote:
> > */
> > addr.sun_path[0] = '\0'; /* this is what says "use abstract" */
> > strncpy (&addr.sun_path[1], path, _DBUS_MAX_SUN_PATH_LENGTH -
> > 2);
>
> This part should use path_len also since we are no longer using the full
> length of sun_path, right?
>
> > + path_len++; /* add the extra NULL byte */
>
> s/NULL/nul/
>
> I think you're adding the nul byte at the front but not the nul
> termination here... which may be right I guess.
>
> > - if (connect (fd, (struct sockaddr*) &addr, sizeof (addr)) < 0)
> > + if (connect (fd, (struct sockaddr*) &addr, _DBUS_STRUCT_OFFSET
> > (struct sockaddr_un, sun_path) + path_len) < 0)
>
> I'd say we also need a spec patch that discusses exactly which bytes are
> included (e.g. whether or not nul termination is)
>
> Havoc
>
--
John (J5) Palmieri <johnp at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dbus-abstract-socket-2.patch
Type: text/x-patch
Size: 4440 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20050929/5bfc9908/dbus-abstract-socket-2-0001.bin
More information about the dbus
mailing list