Fix a problem where a nul byte was wrongly introduced into UUIDs, due to _dbus_string...
authorHavoc Pennington <hp@localhost.localdomain>
Wed, 31 Oct 2007 17:58:28 +0000 (13:58 -0400)
committerHavoc Pennington <hp@localhost.localdomain>
Wed, 31 Oct 2007 17:58:28 +0000 (13:58 -0400)
commitbef4260ad58bc9eb75e2e1a52ad9b49bc3c70fa5
treea1cabf96f8f525936ebdc1ab88100b5598fd397f
parent5340b8de0b537380e0c445495300739d75abeb2f
Fix a problem where a nul byte was wrongly introduced into UUIDs, due to _dbus_string_copy_to_buffer weird behavior.

2007-10-31  Havoc Pennington  <hp@redhat.com>

* bus/selinux.c (log_audit_callback): rewrite to use
_dbus_string_copy_to_buffer_with_nul()

* dbus/dbus-string.c (_dbus_string_copy_to_buffer): change to NOT
nul-terminate the buffer; fail an assertion if there is not enough
space in the target buffer. This fixes two bugs where
copy_to_buffer was used to copy the binary bytes in a UUID, where
nul termination did not make sense. Bug reported by David Castelow.
(_dbus_string_copy_to_buffer_with_nul): new function that always
nul-terminates the buffer, and fails an assertion if there is not
enough space in the buffer.
ChangeLog
bus/selinux.c
dbus/dbus-string.c
dbus/dbus-string.h