aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2019-07-23 08:40:42 +0200
committerToni Uhlig <matzeton@googlemail.com>2019-07-23 08:40:42 +0200
commit371b8ef26403a277a784810c0aa597eaa48a20f7 (patch)
tree5abae242869fc28b97b73e827439770d21d65e1d
parentd6843258f0043ec340c0ca1825b0cbf8bb023a7c (diff)
event buffer valgrind memcheck support
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rw-r--r--src/jail.c4
-rw-r--r--src/pevent.h13
2 files changed, 15 insertions, 2 deletions
diff --git a/src/jail.c b/src/jail.c
index feb3bc2..5671499 100644
--- a/src/jail.c
+++ b/src/jail.c
@@ -480,8 +480,8 @@ static int jail_childfn(prisoner_process *ctx)
goto finalise;
}
- N("Socket to tty I/O for prisoner pid %d",
- child_pid);
+ N("Socket to tty I/O for prisoner pid for fd %d: %d",
+ master_fd, child_pid);
if (jail_socket_tty(ctx, master_fd))
E_STRERR("Socket to tty I/O for prisoner pid %d",
child_pid);
diff --git a/src/pevent.h b/src/pevent.h
index 585fc46..129db05 100644
--- a/src/pevent.h
+++ b/src/pevent.h
@@ -38,6 +38,9 @@
#include <unistd.h>
#include <sys/epoll.h>
#include <string.h>
+#ifdef HAVE_VALGRIND
+#include <memcheck.h>
+#endif
#include "socket.h"
@@ -117,6 +120,11 @@ static inline ssize_t event_buf_read(event_buf *read_buf)
event_buf_avail(read_buf));
if (siz > 0)
read_buf->buf_used += siz;
+#ifdef HAVE_VALGRIND
+ VALGRIND_MAKE_MEM_UNDEFINED(read_buf->buf + read_buf->buf_used,
+ sizeof(read_buf->buf)*sizeof(read_buf->buf[0]) -
+ read_buf->buf_used);
+#endif
return siz;
}
@@ -126,6 +134,11 @@ static inline void event_buf_discard(event_buf *input, size_t siz)
memmove(input->buf + siz, input->buf, input->buf_used - siz);
input->buf_used -= siz;
}
+#ifdef HAVE_VALGRIND
+ VALGRIND_MAKE_MEM_UNDEFINED(input->buf + input->buf_used,
+ sizeof(input->buf)*sizeof(input->buf[0]) -
+ input->buf_used);
+#endif
}
static inline void event_buf_discardall(event_buf *input)