From owner-cvs-src-old@FreeBSD.ORG Sun Jul 25 22:31:10 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B5AD106567A for ; Sun, 25 Jul 2010 22:31:10 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 366EA8FC0A for ; Sun, 25 Jul 2010 22:31:10 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o6PMVAI5021929 for ; Sun, 25 Jul 2010 22:31:10 GMT (envelope-from jilles@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o6PMVAw3021928 for cvs-src-old@freebsd.org; Sun, 25 Jul 2010 22:31:10 GMT (envelope-from jilles@repoman.freebsd.org) Message-Id: <201007252231.o6PMVAw3021928@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jilles@repoman.freebsd.org using -f From: Jilles Tjoelker Date: Sun, 25 Jul 2010 22:25:52 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/bin/sh parser.c src/tools/regression/bin/sh/parser heredoc7.0 X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jul 2010 22:31:10 -0000 jilles 2010-07-25 22:25:52 UTC FreeBSD src repository Modified files: bin/sh parser.c Added files: tools/regression/bin/sh/parser heredoc7.0 Log: SVN rev 210488 on 2010-07-25 22:25:52Z by jilles sh: Fix crash due to uninitialized here-document. If an ; or & token was followed by an EOF token, pending here-documents were left uninitialized. Execution would crash, either in the main shell process for literal here-documents or in a child process for expanded here-documents. In the latter case the problem is hard to detect apart from the core dumps and log messages. Side effect: slightly different retries on inputs where EOF is not persistent. Note that tools/regression/bin/sh/parser/heredoc6.0 still causes a similar crash in a child process. The text passed to eval is malformed and should be rejected. Revision Changes Path 1.85 +3 -0 src/bin/sh/parser.c 1.1 +19 -0 src/tools/regression/bin/sh/parser/heredoc7.0 (new)