- From: Scott Kenney <saken+tidy@hotel.rmta.org>
- Date: Sun, 30 May 1999 13:42:08 -0400
- To: html-tidy@w3.org
Hi, I'm the maintainer of the FreeBSD "port" of tidy. The FreeBSD Documentation Project <href="http://www.FreeBSD.ORG/docproj/docproj.html"> uses tidy as an integral part of building the HTML version of the FreeBSD handbook. Attached below is a problem report (with fix) concerning how tidy deals with error file handling. This problem is probably only manifest on systems with limited resources. ----- Forwarded message from Peter Jeremy <jeremyp@gsmx07.alcatel.com.au> ----- Delivered-To: freebsd-ports@freebsd.org Date: Thu, 27 May 1999 16:08:19 +1000 From: Peter Jeremy <jeremyp@gsmx07.alcatel.com.au> Reply-To: peter.jeremy@alcatel.com.au Subject: ports/11903: File descriptor leak in ports/www/tidy/tidy15apr99 >Number: 11903 >Category: ports >Synopsis: File descriptor leak in ports/www/tidy/tidy15apr99 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed May 26 23:10:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Peter Jeremy >Release: FreeBSD 4.0-CURRENT i386 >Organization: Alcatel Australia Limited >Environment: Running FreeBSD 4.0-CURRENT from mid-May, building cvs/www/en from cvs-cur 5361 with tidy from tidy15apr99 (tidy-0.4.99.2). >Description: When an error file is specified to tidy (-f file), the error file is fopen()d for every HTML file specified on the command line, but not closed until all HTML files have been processed. If a large number of files are specified on the command line (eg processing the FreeBSD handbook), this can overflow the process or system file descriptor table. >How-To-Repeat: cd .../cvs/www/en CVSROOT=... make -DENGLISH_ONLY >Fix: The following fix opens the error file whenever a `-f' option is seen. Multiple -f options can be specified and the previous error file will be closed before the new one is opened. --- tidy.c~ Fri Apr 16 05:34:32 1999 +++ tidy.c Thu May 27 15:55:33 1999 @@ -732,9 +732,18 @@ { if (argc >= 3) { + if (errfile) + fclose(errout); errfile = argv[2]; --argc; ++argv; + if (errfile) + { + fp = fopen(errfile, "w"); + + if (fp != null) + errout = fp; + } } } else if (strcmp(argv[1], "-wrap") == 0 || @@ -779,14 +788,6 @@ /* ensure config is self-consistent */ AdjustConfig(); - - if (errfile) - { - fp = fopen(errfile, "w"); - - if (fp != null) - errout = fp; - } if (argc > 1) { >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message ----- End forwarded message ----- -- Scott Kenney >|< saken@hotel.rmta.org
Received on Sunday, 30 May 1999 13:42:16 UTC