From patchwork Thu Sep 10 14:47:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Navid Rahimi X-Patchwork-Id: 8623 Received: (qmail 72678 invoked by alias); 10 Sep 2015 14:48:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 72613 invoked by uid 89); 10 Sep 2015 14:48:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f169.google.com X-Received: by 10.194.86.161 with SMTP id q1mr72546119wjz.18.1441896477198; Thu, 10 Sep 2015 07:47:57 -0700 (PDT) To: libc-alpha@sourceware.org From: Navid Rahimi Subject: [PATCH] [BZ #18433] Check file access/existence before forking. Message-ID: <55F19819.3010601@gmail.com> Date: Thu, 10 Sep 2015 19:17:53 +0430 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 [BZ #18433] * sysdeps/posix/spawni.c (__spawni): Check file access before forking. --- ChangeLog | 5 +++++ sysdeps/posix/spawni.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5f009a8..0e0c85b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-09-10 Navid Rahimi + + [BZ #18433] + * sysdeps/posix/spawni.c (__spawni): Check file access before forking. + 2015-09-08 Joseph Myers [BZ #14912] diff --git a/sysdeps/posix/spawni.c b/sysdeps/posix/spawni.c index eee9331..c571390 100644 --- a/sysdeps/posix/spawni.c +++ b/sysdeps/posix/spawni.c @@ -90,6 +90,9 @@ __spawni (pid_t *pid, const char *file, size_t len; size_t pathlen; + if(__access (file, X_OK) != 0) + return errno; + /* Do this once. */ short int flags = attrp == NULL ? 0 : attrp->__flags;