39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
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>
|