diff --git a/src/kiwmi/ipc.c b/src/kiwmi/ipc.c
index b5efbad..706c530 100644
--- a/src/kiwmi/ipc.c
+++ b/src/kiwmi/ipc.c
@@ -29,9 +29,9 @@ init_socket(void)
 	char *sock_path = getenv(SOCK_ENV_VAR);
 
 	if (sock_path) {
-		strncpy(sock_addr.sun_path, sock_path, sizeof(sock_addr.sun_path));
+		strncpy(sock_addr.sun_path, sock_path, sizeof(sock_addr.sun_path) - 1);
 	} else {
-		strncpy(sock_addr.sun_path, SOCK_DEF_PATH, sizeof(sock_addr.sun_path));
+		strncpy(sock_addr.sun_path, SOCK_DEF_PATH, sizeof(sock_addr.sun_path) - 1);
 	}
 
 	sock_addr.sun_family = AF_UNIX;
diff --git a/src/kiwmi/main.c b/src/kiwmi/main.c
index d3159dd..5ecf6eb 100644
--- a/src/kiwmi/main.c
+++ b/src/kiwmi/main.c
@@ -51,7 +51,7 @@ main(int argc, char *argv[])
 				printf("v" VERSION_STRING "\n");
 				exit(EXIT_SUCCESS);
 			case 'c':
-				strncpy(config_path, optarg, sizeof(config_path));
+				strncpy(config_path, optarg, sizeof(config_path) - 1);
 				break;
 		}
 	}