From 3642390b3c53f469916e02f7a1bebe4ebd0aeba3 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 29 Aug 2012 16:32:29 -0500 Subject: Check the return from snprintf --- socket-sucker.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/socket-sucker.c b/socket-sucker.c index 7a1e82f..d711cb0 100644 --- a/socket-sucker.c +++ b/socket-sucker.c @@ -41,7 +41,12 @@ main (int argc, char * argv[]) } serv_addr.sun_family = AF_UNIX; - snprintf(serv_addr.sun_path, sizeof(serv_addr.sun_path), "%s/%s", home, ".freerdp-socket"); + + int printsize = snprintf(serv_addr.sun_path, sizeof(serv_addr.sun_path) - 1, "%s/%s", home, ".freerdp-socket"); + if (printsize > sizeof(serv_addr.sun_path) - 1) { + return -1; + } + servlen = strlen(serv_addr.sun_path) + sizeof(serv_addr.sun_family); if ((socket_fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { -- cgit v1.2.3