From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26745 invoked by alias); 5 Jan 2010 01:38:41 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 27561 Received: (qmail 19232 invoked from network); 5 Jan 2010 01:38:40 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VERIFIED autolearn=ham version=3.2.5 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.221.191 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=ZxgOPbzbOZBV79toXGPq11XMzuVgTGFQkLU17ycWxmk=; b=ua3gqsPWzHfefSKjksZEyJJChVUEjfbx7wNuVAla5PknC0MbQlKbR8xnjJzUue1I2E JQFR0ey636jAg+jkDg4MfgdLUXmUPtjCECpL+/fbRIaB+9eI186JgUi2BC/OZNykhIzF ChFQVciEChZx2aSKP11S3/Kvb1WUn83MUusts= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=LLLIwjoPPyqj7NU4amaZfLGZCIp6ZXxXG6GhYb5QPfi8HFUaXNeTc4g9ADkdl4fyPI muJ6iCTR3dxyXHnzI6QM36KoR8QVtBqdIkF+lWGLlO0hZbuSXjAgjKpRYoeuNuhqpUdL MMrm9jVzicKnPHlcDI9wg8oDR2DcCuMJNOvgY= From: Michael Hwang To: zsh-workers@zsh.org Cc: Michael Hwang Subject: [PATCH] Removed arbitrary limitations on array accesses Date: Mon, 4 Jan 2010 20:38:17 -0500 Message-Id: <1262655497-21263-1-git-send-email-michael.a.hwang@gmail.com> X-Mailer: git-send-email 1.6.2.5 In-Reply-To: References: This issue was brought up on IRC. It appears that while there is no limit on how many array elements can be stored, there is a limit to how many can be accessed. This patch removes these limits. Michael Hwang --- Src/params.c | 16 ---------------- Src/zsh.h | 2 -- 2 files changed, 0 insertions(+), 18 deletions(-) diff --git a/Src/params.c b/Src/params.c index 0425e07..d092ccc 100644 --- a/Src/params.c +++ b/Src/params.c @@ -1853,22 +1853,6 @@ fetchvalue(Value v, char **pptr, int bracks, int flags) if (!bracks && *s) return NULL; *pptr = s; - if (v->start > MAX_ARRLEN) { - zerr("subscript too %s: %d", "big", v->start + !isset(KSHARRAYS)); - return NULL; - } - if (v->start < -MAX_ARRLEN) { - zerr("subscript too %s: %d", "small", v->start); - return NULL; - } - if (v->end > MAX_ARRLEN+1) { - zerr("subscript too %s: %d", "big", v->end - !!isset(KSHARRAYS)); - return NULL; - } - if (v->end < -MAX_ARRLEN) { - zerr("subscript too %s: %d", "small", v->end); - return NULL; - } return v; } diff --git a/Src/zsh.h b/Src/zsh.h index 060f8a6..1b407b0 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -626,8 +626,6 @@ enum { VALFLAG_SUBST = 0x0004 /* Substitution, so apply padding, case flags */ }; -#define MAX_ARRLEN 262144 - /********************************************/ /* Definitions for word code */ /********************************************/ -- 1.6.2.5