You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-mail/relay-ctrl/files/relay-ctrl-3.1.1-NOFILE-ove...

26 lines
671 B

--- relay-ctrl-3.1.1/relay-ctrl-chdir.c 2002-04-26 18:07:38.000000000 +0200
+++ relay-ctrl-3.1.1-patch/relay-ctrl-chdir.c 2010-12-08 20:49:15.449915704 +0100
@@ -2,6 +2,7 @@
#include <fcntl.h>
#include <stdlib.h>
#include <sys/stat.h>
+#include <sys/resource.h>
#include <unistd.h>
#include "misc/misc.h"
#include "msg/msg.h"
@@ -14,9 +15,12 @@
static int move_high(int fd)
{
struct stat s;
+ struct rlimit rl;
int newfd;
-
- for (newfd = fd + 1;; ++newfd) {
+
+ getrlimit(RLIMIT_NOFILE, &rl);
+
+ for (newfd = fd + 1; newfd < rl.rlim_cur; ++newfd) {
if (fstat(newfd, &s) != -1) continue;
if (dup2(fd, newfd) == -1) break;
close(fd);