From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Problem report #35 Date: Tue, 11 Apr 2006 08:49:35 -0700 Message-ID: <200604111549.k3BFnZsb015132@scanner2.ics.uci.edu> Reply-To: emacs-devel@gnu.org NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1144771163 5773 80.91.229.2 (11 Apr 2006 15:59:23 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 11 Apr 2006 15:59:23 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 11 17:59:22 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FTLGr-0006ap-Nl for ged-emacs-devel@m.gmane.org; Tue, 11 Apr 2006 17:59:14 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FTLGr-0001WQ-C9 for ged-emacs-devel@m.gmane.org; Tue, 11 Apr 2006 11:59:13 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FTLAK-00030v-Kl for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:52:28 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FTLAH-0002xs-8q for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:52:26 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FTLAH-0002xO-0T for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:52:25 -0400 Original-Received: from [128.195.1.36] (helo=scanner2.ics.uci.edu) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FTLFA-0002Wp-6C for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:57:28 -0400 Original-Received: from vino.ics.uci.edu (vino.ics.uci.edu [128.195.11.198]) by scanner2.ics.uci.edu (8.13.6/8.13.5) with ESMTP id k3BFnZsb015132 for ; Tue, 11 Apr 2006 08:49:36 -0700 (PDT) Original-To: emacs-devel@gnu.org Original-Lines: 128 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam (whitelisted), SpamAssassin (score=-0.34, required 5, autolearn=disabled, ALL_TRUSTED -1.44, FM_MULTI_ODD2 1.10, UPPERCASE_25_50 0.00) X-ICS-MailScanner-From: dann@vino.ics.uci.edu X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:52681 Archived-At: CID: 35 Checker: OVERRUN_STATIC (help) File: emacs/src/coding.c Function: detect_coding_iso2022 Description: Overrun of static array "(((coding_system_table[2])->spec).iso2022).requested_designation" of size 255 at position 255 with index variable "charset" 1435 ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep); At conditional (1): "c >= 40" taking true path At conditional (2): "c <= 47" taking true path 1436 if (c >= '(' && c <= '/') 1437 { 1438 /* Designation sequence for a charset of dimension 1. */ At conditional (3): "src >= src_end" taking false path At conditional (4): "multibytep != 0" taking true path At conditional (5): "c1 == 158" taking true path At conditional (6): "0" taking false path 1439 ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep); At conditional (7): "c1 < 32" taking false path At conditional (8): "c1 >= 128" taking false path At conditional (9): "c >= 44" taking true path At conditional (10): "charset = iso_charset_table[0][((c >= 44) ? 1 : (0))][c1] < 0" taking false path 1440 if (c1 < ' ' || c1 >= 0x80 1441 || (charset = iso_charset_table[0][c >= ','][c1]) < 0) 1442 /* Invalid designation sequence. Just ignore. */ 1443 break; 1444 reg[(c - '(') % 4] = charset; 1445 } 1446 else if (c == '$') 1447 { 1448 /* Designation sequence for a charset of dimension 2. */ 1449 ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep); 1450 if (c >= '@' && c <= 'B') 1451 /* Designation for JISX0208.1978, GB2312, or JISX0208. */ 1452 reg[0] = charset = iso_charset_table[1][0][c]; 1453 else if (c >= '(' && c <= '/') 1454 { 1455 ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep); 1456 if (c1 < ' ' || c1 >= 0x80 1457 || (charset = iso_charset_table[1][c >= ','][c1]) < 0) 1458 /* Invalid designation sequence. Just ignore. */ 1459 break; 1460 reg[(c - '(') % 4] = charset; 1461 } 1462 else 1463 /* Invalid designation sequence. Just ignore. */ 1464 break; 1465 } 1466 else if (c == 'N' || c == 'O') 1467 { 1468 /* ESC for SS2 or SS3. */ 1469 mask &= CODING_CATEGORY_MASK_ISO_7_ELSE; 1470 break; 1471 } 1472 else if (c >= '0' && c <= '4') 1473 { 1474 /* ESC for start/end composition. */ 1475 if (COMPOSITION_OK (CODING_CATEGORY_IDX_ISO_7)) 1476 mask_found |= CODING_CATEGORY_MASK_ISO_7; 1477 else 1478 mask &= ~CODING_CATEGORY_MASK_ISO_7; 1479 if (COMPOSITION_OK (CODING_CATEGORY_IDX_ISO_7_TIGHT)) 1480 mask_found |= CODING_CATEGORY_MASK_ISO_7_TIGHT; 1481 else 1482 mask &= ~CODING_CATEGORY_MASK_ISO_7_TIGHT; 1483 if (COMPOSITION_OK (CODING_CATEGORY_IDX_ISO_8_1)) 1484 mask_found |= CODING_CATEGORY_MASK_ISO_8_1; 1485 else 1486 mask &= ~CODING_CATEGORY_MASK_ISO_8_1; 1487 if (COMPOSITION_OK (CODING_CATEGORY_IDX_ISO_8_2)) 1488 mask_found |= CODING_CATEGORY_MASK_ISO_8_2; 1489 else 1490 mask &= ~CODING_CATEGORY_MASK_ISO_8_2; 1491 if (COMPOSITION_OK (CODING_CATEGORY_IDX_ISO_7_ELSE)) 1492 mask_found |= CODING_CATEGORY_MASK_ISO_7_ELSE; 1493 else 1494 mask &= ~CODING_CATEGORY_MASK_ISO_7_ELSE; 1495 if (COMPOSITION_OK (CODING_CATEGORY_IDX_ISO_8_ELSE)) 1496 mask_found |= CODING_CATEGORY_MASK_ISO_8_ELSE; 1497 else 1498 mask &= ~CODING_CATEGORY_MASK_ISO_8_ELSE; 1499 break; 1500 } 1501 else 1502 /* Invalid escape sequence. Just ignore. */ 1503 break; 1504 1505 /* We found a valid designation sequence for CHARSET. */ 1506 mask &= ~CODING_CATEGORY_MASK_ISO_8BIT; At conditional (11): "charset == 0" taking false path At conditional (12): "charset == 158" taking false path At conditional (13): "charset == 128" taking false path At conditional (14): "charset >= 0" taking true path At conditional (15): "charset <= 254" taking false path At conditional (16): "charset < 240" taking false path At conditional (17): "((charset >= 0 && charset <= 254 && (Vcharset_table & -8)->contents[((charset == 0) ? 0 : ((charset + 128)))] != Qnil) ? ((((0), ((Vcharset_table & -8)->contents[((charset == 0) ? 0 : ((charset + 128)))] & -8))->contents[2] >> 3 == 1) ? 1 : (0)) : (((charset < 240) ? 1 : (0)))) != 0" taking false path At conditional (18): "charset < 240" taking false path 1507 c = MAKE_CHAR (charset, 0, 0); Event overrun-local: Overrun of static array "(((coding_system_table[2])->spec).iso2022).requested_designation" of size 255 at position 255 with index variable "charset" At conditional (19): "coding_system_table[2] != 0" taking true path At conditional (20): "charset == 0" taking false path At conditional (21): "safe_chars == Qt" taking true path 1508 if (CHARSET_OK (CODING_CATEGORY_IDX_ISO_7, charset, c)) 1509 mask_found |= CODING_CATEGORY_MASK_ISO_7; 1510 else 1511 mask &= ~CODING_CATEGORY_MASK_ISO_7; 1512 if (CHARSET_OK (CODING_CATEGORY_IDX_ISO_7_TIGHT, charset, c)) 1513 mask_found |= CODING_CATEGORY_MASK_ISO_7_TIGHT; 1514 else 1515 mask &= ~CODING_CATEGORY_MASK_ISO_7_TIGHT; 1516 if (CHARSET_OK (CODING_CATEGORY_IDX_ISO_7_ELSE, charset, c)) 1517 mask_found |= CODING_CATEGORY_MASK_ISO_7_ELSE; 1518 else 1519 mask &= ~CODING_CATEGORY_MASK_ISO_7_ELSE; 1520 if (CHARSET_OK (CODING_CATEGORY_IDX_ISO_8_ELSE, charset, c)) 1521 mask_found |= CODING_CATEGORY_MASK_ISO_8_ELSE; 1522 else 1523 mask &= ~CODING_CATEGORY_MASK_ISO_8_ELSE;