All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] monitor: Fix truncated server socket path parameter
@ 2021-08-04  8:59 Mariusz Skamra
  2021-08-04  9:39 ` bluez.test.bot
  2021-08-04 10:54 ` [PATCH v2] " Mariusz Skamra
  0 siblings, 2 replies; 5+ messages in thread
From: Mariusz Skamra @ 2021-08-04  8:59 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Mariusz Skamra

This fixes the issue of --server <socket> parameter
last character was dropped. There is no need to use
strncpy, as the length is already checked, and it is
known that the destination buffer is big enough

Change-Id: I646f86709d59d33b8f1d27b725eb42a9f44f6f2d
---
 monitor/control.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/monitor/control.c b/monitor/control.c
index d1ba97d37..266602a34 100644
--- a/monitor/control.c
+++ b/monitor/control.c
@@ -1165,14 +1165,12 @@ static int server_fd = -1;
 void control_server(const char *path)
 {
 	struct sockaddr_un addr;
-	size_t len;
 	int fd;
 
 	if (server_fd >= 0)
 		return;
 
-	len = strlen(path);
-	if (len > sizeof(addr.sun_path) - 1) {
+	if (strlen(path) > sizeof(addr.sun_path) - 1) {
 		fprintf(stderr, "Socket name too long\n");
 		return;
 	}
@@ -1187,7 +1185,7 @@ void control_server(const char *path)
 
 	memset(&addr, 0, sizeof(addr));
 	addr.sun_family = AF_UNIX;
-	strncpy(addr.sun_path, path, len - 1);
+	strcpy(addr.sun_path, path);
 
 	if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
 		perror("Failed to bind server socket");
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-04 14:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04  8:59 [PATCH] monitor: Fix truncated server socket path parameter Mariusz Skamra
2021-08-04  9:39 ` bluez.test.bot
2021-08-04 10:54 ` [PATCH v2] " Mariusz Skamra
2021-08-04 11:30   ` [v2] " bluez.test.bot
2021-08-04 14:53   ` [PATCH v2] " Szymon Janc

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.