From 133bbb3c5e489f2f6eff711b0f8110ea47cb146f Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Jun 14 2010 20:54:29 +0000 Subject: Properly null-terminate socket path https://fedorahosted.org/sssd/ticket/540 --- diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c index 54d6c49..231d828 100644 --- a/src/responder/common/responder_common.c +++ b/src/responder/common/responder_common.c @@ -467,7 +467,8 @@ static int set_unix_socket(struct resp_ctx *rctx) memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, rctx->sock_name, sizeof(addr.sun_path)); + strncpy(addr.sun_path, rctx->sock_name, sizeof(addr.sun_path)-1); + addr.sun_path[sizeof(addr.sun_path)-1] = '\0'; /* make sure we have no old sockets around */ unlink(rctx->sock_name); @@ -504,7 +505,8 @@ static int set_unix_socket(struct resp_ctx *rctx) memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, rctx->priv_sock_name, sizeof(addr.sun_path)); + strncpy(addr.sun_path, rctx->priv_sock_name, sizeof(addr.sun_path)-1); + addr.sun_path[sizeof(addr.sun_path)-1] = '\0'; unlink(rctx->priv_sock_name);