From a5f3762d4b47db378610ca7c795a94f34d543c3f Mon Sep 17 00:00:00 2001 From: ellie timoney Date: Wed, 28 Jun 2017 13:30:49 +1000 Subject: [PATCH] auth_pts: make sure socket fname will fit in buffer Fixes #1434 --- lib/auth_pts.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/auth_pts.c b/lib/auth_pts.c index 27427fc22..7bc5b39c0 100644 --- a/lib/auth_pts.c +++ b/lib/auth_pts.c @@ -430,6 +430,13 @@ static int ptload(const char *identifier, struct auth_state **state) fname = tofree; } + if (strlen(fname) >= sizeof(srvaddr.sun_path)) { + syslog(LOG_ERR, "ptload(): socket filename %s too long for " SIZE_T_FMT "-byte buffer", + fname, sizeof(srvaddr.sun_path)); + rc = -1; + goto done; + } + memset((char *)&srvaddr, 0, sizeof(srvaddr)); srvaddr.sun_family = AF_UNIX; strcpy(srvaddr.sun_path, fname);