diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2010-06-14 10:05:04 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-06-14 16:54:42 -0400 |
commit | 75392c5a8a896f0c300b3bc837859616b27daeb6 (patch) | |
tree | b5b7ad5955525419d7f2022784d5b70a47dde3ce /src/responder | |
parent | 0b2d2bebfe41f86dab5c6ed0828d3e91389b08e4 (diff) | |
download | sssd-75392c5a8a896f0c300b3bc837859616b27daeb6.tar.gz sssd-75392c5a8a896f0c300b3bc837859616b27daeb6.tar.xz sssd-75392c5a8a896f0c300b3bc837859616b27daeb6.zip |
Properly null-terminate socket path
https://fedorahosted.org/sssd/ticket/540
Diffstat (limited to 'src/responder')
-rw-r--r-- | src/responder/common/responder_common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c index e39063b44..22b39126d 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); |