This patch allows reptyr to build with gcc 7. It is taken from reptyr mainline patches fa0d63f and b45fd92. https://github.com/nelhage/reptyr/commit/fa0d63ff8c488be15976e5353580b565e85586a1 https://github.com/nelhage/reptyr/commit/b45fd9238958fcf2d8f3d6fc23e6d491febea2ac Patch by Nelson Elhage <nelhage@nelhage.com>. diff --git a/attach.c b/attach.c index bd8ef8c..8d9cbf8 100644 --- a/attach.c +++ b/attach.c @@ -389,8 +389,11 @@ int setup_steal_socket(struct steal_pty_state *steal) { return errno; steal->addr_un.sun_family = AF_UNIX; - snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path), - "%s/reptyr.sock", steal->tmpdir); + if (snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path), + "%s/reptyr.sock", steal->tmpdir) >= sizeof(steal->addr_un.sun_path)) { + error("tmpdir path too long!"); + return ENAMETOOLONG; + } if ((steal->sockfd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) return errno; diff --git a/platform/linux/linux.h b/platform/linux/linux.h index 9e6b78a..3ec5a99 100644 --- a/platform/linux/linux.h +++ b/platform/linux/linux.h @@ -40,6 +40,7 @@ #include <sys/ptrace.h> #include <asm/ptrace.h> #include <sys/types.h> +#include <sys/sysmacros.h> #include <sys/user.h> #include <unistd.h> #include <stdlib.h>