diff --git a/.gitignore b/.gitignore index 3b43555..654d37f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -.clangd - *.o feuille diff --git a/feuille.c b/feuille.c index 73ef758..f5d6298 100644 --- a/feuille.c +++ b/feuille.c @@ -270,6 +270,11 @@ int main(int argc, char *argv[]) daemon(1, 0); } + /* ignore most signals that could kill feuille */ + verbose(3, "ignoring signals that could kill feuille..."); + + signal(SIGPIPE, SIG_IGN); /* when send(2) or write(2) fails */ + /* chroot and drop root permissions */ if (getuid() == 0) { diff --git a/server.c b/server.c index b2c4a21..429ff8b 100644 --- a/server.c +++ b/server.c @@ -221,7 +221,7 @@ char *read_paste(int connection) if (total_size == 0) { /* yup, free the buffer and return an error */ if (errno != EAGAIN) - errno = ENOENT; + errno = ENOENT; free(buffer); return NULL;