Diff between efa3d68daf96d9c64ec1b3b5a0a8ac517c8ae182 and 8e6b1440e6510f58fa51d8ad95c45ebc37ed5ca9

Changed Files

File Additions Deletions Status
src/adapter.c +2 -2 modified
src/systemd.c +1 -1 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index 390216a..af340fd 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -750,10 +750,10 @@ static void set_local_name_complete(uint8_t status, uint16_t length,
 static int set_name(struct btd_adapter *adapter, const char *name)
 {
 	struct mgmt_cp_set_local_name cp;
-	char maxname[MAX_NAME_LENGTH + 1];
+	char maxname[MAX_NAME_LENGTH];
 
 	memset(maxname, 0, sizeof(maxname));
-	strncpy(maxname, name, MAX_NAME_LENGTH);
+	strncpy(maxname, name, MAX_NAME_LENGTH - 1);
 
 	if (!g_utf8_validate(maxname, -1, NULL)) {
 		btd_error(adapter->dev_id,
diff --git a/src/systemd.c b/src/systemd.c
index cf3da1c..0a4b35d 100644
--- a/src/systemd.c
+++ b/src/systemd.c
@@ -72,7 +72,7 @@ int sd_notify(int unset_environment, const char *state)
 
 	memset(&addr, 0, sizeof(addr));
 	addr.sun_family = AF_UNIX;
-	strncpy(addr.sun_path, sock, sizeof(addr.sun_path));
+	strncpy(addr.sun_path, sock, sizeof(addr.sun_path) - 1);
 
 	if (addr.sun_path[0] == '@')
 		addr.sun_path[0] = '\0';