diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.c | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,5 +1,11 @@ 2003-03-31 Havoc Pennington <hp@redhat.com> + * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket) + (_dbus_listen_unix_socket): fix off-by-one error in null + termination spotted by Nalin + +2003-03-31 Havoc Pennington <hp@redhat.com> + * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting DBUS_TEST_HOMEDIR when tests are enabled, so we can test without having a real home directory available. diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index f551c4bf..cab970a0 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -346,7 +346,7 @@ _dbus_connect_unix_socket (const char *path, _DBUS_ZERO (addr); addr.sun_family = AF_UNIX; strncpy (addr.sun_path, path, _DBUS_MAX_SUN_PATH_LENGTH); - addr.sun_path[_DBUS_MAX_SUN_PATH_LENGTH] = '\0'; + addr.sun_path[_DBUS_MAX_SUN_PATH_LENGTH-1] = '\0'; if (connect (fd, (struct sockaddr*) &addr, sizeof (addr)) < 0) { @@ -405,7 +405,7 @@ _dbus_listen_unix_socket (const char *path, _DBUS_ZERO (addr); addr.sun_family = AF_UNIX; strncpy (addr.sun_path, path, _DBUS_MAX_SUN_PATH_LENGTH); - addr.sun_path[_DBUS_MAX_SUN_PATH_LENGTH] = '\0'; + addr.sun_path[_DBUS_MAX_SUN_PATH_LENGTH-1] = '\0'; if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0) { |