From owner-freebsd-bugs@FreeBSD.ORG Wed Apr 30 07:50:23 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8656D37B401 for ; Wed, 30 Apr 2003 07:50:23 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F49543FB1 for ; Wed, 30 Apr 2003 07:50:23 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h3UEoMUp030380 for ; Wed, 30 Apr 2003 07:50:22 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h3UEoMC8030365; Wed, 30 Apr 2003 07:50:22 -0700 (PDT) Date: Wed, 30 Apr 2003 07:50:22 -0700 (PDT) Message-Id: <200304301450.h3UEoMC8030365@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Dmitry Sivachenko Subject: Re: bin/49096: cron(8) may segfault when system open file table is full X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Dmitry Sivachenko List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Apr 2003 14:50:23 -0000 The following reply was made to PR bin/49096; it has been noted by GNATS. From: Dmitry Sivachenko To: freebsd-gnats-submit@FreeBSD.org Cc: eugen@grosbein.pp.ru Subject: Re: bin/49096: cron(8) may segfault when system open file table is full Date: Wed, 30 Apr 2003 18:45:33 +0400 Does the following patch fix the problem? --- do_command.c.orig Fri May 4 04:59:40 2001 +++ do_command.c Wed Apr 30 18:41:48 2003 @@ -369,13 +369,14 @@ child_process(e, u) /*local*/{ register FILE *in = fdopen(stdout_pipe[READ_PIPE], "r"); - register int ch = getc(in); + register int ch; if (in == NULL) { warn("fdopen failed in child"); _exit(ERROR_EXIT); } + ch = getc(in); if (ch != EOF) { register FILE *mail; register int bytes = 1;