From eee9736e27aae251515c194190301dcc50055c57 Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Wed, 6 Nov 2002 03:50:48 +0000 Subject: [w3m-dev 03379] setuid w3mimgdisplay and check console tty * XMakefile: w3mimgdisplay install by INSTALL_W3MIMGDISPLAY * configure: ask setuid w3mimgdisplay (w3mimgdisplay_setuid): added (INSTALL_W3MIMGDISPLAY): added * etc.c (mySystem): close until FOPEN_MAX * image.c (openImgdisplay): setenv W3M_TTY stderr to /dev/null close until FOPEN_MAX * install-sh: -o, -g for owner, group * proto.h (ttyname_tty): added * search.c (open_migemo): stderr to /dev/null close until FOPEN_MAX * terms.c (ttyname_tty): added * w3mimgdisplay.c: include , W3MIMGDISPLAY_SETUID stderr to /dev/null * w3mimg/w3mimg.c: include , W3MIMGDISPLAY_SETUID * w3mimg/fb/fb_w3mimg.c (check_tty_console): added From: Fumitoshi UKAI --- etc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'etc.c') diff --git a/etc.c b/etc.c index 6dba9d1..10ad4a6 100644 --- a/etc.c +++ b/etc.c @@ -1,4 +1,4 @@ -/* $Id: etc.c,v 1.34 2002/11/06 03:27:04 ukai Exp $ */ +/* $Id: etc.c,v 1.35 2002/11/06 03:50:49 ukai Exp $ */ #include "fm.h" #include #include "myctype.h" @@ -1307,15 +1307,18 @@ mySystem(char *command, int background) int pid; flush_tty(); if ((pid = fork()) == 0) { - int fd, i; + int i; reset_signals(); SETPGRP(); close_tty(); dup2(open("/dev/null", O_RDONLY), 0); dup2(open("/dev/null", O_WRONLY), 1); - dup2(fd = open("/dev/null", O_WRONLY), 2); + dup2(open("/dev/null", O_WRONLY), 2); +#ifndef FOPEN_MAX +#define FOPEN_MAX 1024 /* XXX */ +#endif /* close all other file descriptors (socket, ...) */ - for (i = 3; i <= fd; i++) + for (i = 3; i < FOPEN_MAX; i++) close(i); execl("/bin/sh", "sh", "-c", command, NULL); exit(127); -- cgit v1.2.3