public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2/libdaemon client/daemon-client.c server/d ...
@ 2012-04-27  9:52 prajnoha
  0 siblings, 0 replies; 2+ messages in thread
From: prajnoha @ 2012-04-27  9:52 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	prajnoha@sourceware.org	2012-04-27 09:52:33

Modified files:
	libdaemon/client: daemon-client.c 
	libdaemon/server: daemon-server.c 

Log message:
	Use dm_strncpy instead of plain strncpy while setting the socket path.
	
	Also check the return value as it meaningless to work with truncated strings.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdaemon/client/daemon-client.c.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdaemon/server/daemon-server.c.diff?cvsroot=lvm2&r1=1.7&r2=1.8

--- LVM2/libdaemon/client/daemon-client.c	2012/04/10 12:55:37	1.4
+++ LVM2/libdaemon/client/daemon-client.c	2012/04/27 09:52:33	1.5
@@ -32,7 +32,10 @@
 		goto error;
 
 	memset(&sockaddr, 0, sizeof(sockaddr));
-	strncpy(sockaddr.sun_path, i.socket, sizeof(sockaddr.sun_path));
+	if (!dm_strncpy(sockaddr.sun_path, i.socket, sizeof(sockaddr.sun_path))) {
+		fprintf(stderr, "%s: daemon socket path too long.\n", i.socket);
+		goto error;
+	}
 	sockaddr.sun_family = AF_UNIX;
 	if (connect(h.socket_fd,(struct sockaddr *) &sockaddr, sizeof(sockaddr)))
 		goto error;
--- LVM2/libdaemon/server/daemon-server.c	2012/04/10 12:55:38	1.7
+++ LVM2/libdaemon/server/daemon-server.c	2012/04/27 09:52:33	1.8
@@ -224,7 +224,10 @@
 
 	fprintf(stderr, "[D] creating %s\n", s.socket_path);
 	memset(&sockaddr, 0, sizeof(sockaddr));
-	strncpy(sockaddr.sun_path, s.socket_path, sizeof(sockaddr.sun_path));
+	if (!dm_strncpy(sockaddr.sun_path, s.socket_path, sizeof(sockaddr.sun_path))) {
+		fprintf(stderr, "%s: daemon socket path too long.\n", s.socket_path);
+		goto error;
+	}
 	sockaddr.sun_family = AF_UNIX;
 
 	if (bind(fd, (struct sockaddr *) &sockaddr, sizeof(sockaddr))) {


^ permalink raw reply	[flat|nested] 2+ messages in thread
* LVM2/libdaemon client/daemon-client.c server/d ...
@ 2012-04-10 12:55 prajnoha
  0 siblings, 0 replies; 2+ messages in thread
From: prajnoha @ 2012-04-10 12:55 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	prajnoha@sourceware.org	2012-04-10 12:55:38

Modified files:
	libdaemon/client: daemon-client.c 
	libdaemon/server: daemon-server.c 

Log message:
	strcpy -> strncpy in common daemon code.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdaemon/client/daemon-client.c.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdaemon/server/daemon-server.c.diff?cvsroot=lvm2&r1=1.6&r2=1.7

--- LVM2/libdaemon/client/daemon-client.c	2012/03/01 21:12:40	1.3
+++ LVM2/libdaemon/client/daemon-client.c	2012/04/10 12:55:37	1.4
@@ -32,7 +32,7 @@
 		goto error;
 
 	memset(&sockaddr, 0, sizeof(sockaddr));
-	strcpy(sockaddr.sun_path, i.socket);
+	strncpy(sockaddr.sun_path, i.socket, sizeof(sockaddr.sun_path));
 	sockaddr.sun_family = AF_UNIX;
 	if (connect(h.socket_fd,(struct sockaddr *) &sockaddr, sizeof(sockaddr)))
 		goto error;
--- LVM2/libdaemon/server/daemon-server.c	2012/03/16 21:30:53	1.6
+++ LVM2/libdaemon/server/daemon-server.c	2012/04/10 12:55:38	1.7
@@ -224,7 +224,7 @@
 
 	fprintf(stderr, "[D] creating %s\n", s.socket_path);
 	memset(&sockaddr, 0, sizeof(sockaddr));
-	strcpy(sockaddr.sun_path, s.socket_path);
+	strncpy(sockaddr.sun_path, s.socket_path, sizeof(sockaddr.sun_path));
 	sockaddr.sun_family = AF_UNIX;
 
 	if (bind(fd, (struct sockaddr *) &sockaddr, sizeof(sockaddr))) {


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

end of thread, other threads:[~2012-04-27  9:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-27  9:52 LVM2/libdaemon client/daemon-client.c server/d prajnoha
  -- strict thread matches above, loose matches on Subject: below --
2012-04-10 12:55 prajnoha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).