From: Jerry Leo <jerryleo860202@gmail.com>
To: isdn@linux-pingi.de
Cc: linux-kernel@vger.kernel.org, isdn4linux@listserv.isdn4linux.de,
i4ldeveloper@listserv.isdn4linux.de
Subject: [PATCH]about eicon: array subscript is above array bounds
Date: Thu, 10 Dec 2009 12:04:35 +0800 [thread overview]
Message-ID: <6304b52b0912092004t646569bdm2a6bbc9bb2440aba@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 3595 bytes --]
Hi, Karsten Keil,
When i compile eicon,there have some waning look like this:
CC [M] drivers/isdn/hardware/eicon/message.o
drivers/isdn/hardware/eicon/message.c: In function ‘add_b23’:
drivers/isdn/hardware/eicon/message.c:8426: warning: array subscript
is above array bounds
drivers/isdn/hardware/eicon/message.c:8427: warning: array subscript
is above array bounds
drivers/isdn/hardware/eicon/message.c:8434: warning: array subscript
is above array bounds
drivers/isdn/hardware/eicon/message.c:8435: warning: array subscript
is above array bounds
drivers/isdn/hardware/eicon/message.c:8436: warning: array subscript
is above array bounds
drivers/isdn/hardware/eicon/message.c:8447: warning: array subscript
is above array bounds
I think the array is short then be used,because the array's max length
is 20, then it will use long than this, the code is in
"drivers/isdn/hardware/eicon/divacapi.h" 1360L, 50994C :
#define T30_MAX_STATION_ID_LENGTH 20
#define T30_MAX_SUBADDRESS_LENGTH 20
#define T30_MAX_PASSWORD_LENGTH 20
typedef struct t30_info_s T30_INFO;
struct t30_info_s {
byte code;
byte rate_div_2400;
byte resolution;
byte data_format;
byte pages_low;
byte pages_high;
byte operating_mode;
byte control_bits_low;
byte control_bits_high;
byte feature_bits_low;
byte feature_bits_high;
byte recording_properties;
byte universal_6;
byte universal_7;
byte station_id_len;
byte head_line_len;
byte station_id[T30_MAX_STATION_ID_LENGTH];
/* byte head_line[]; */
/* byte sub_sep_length; */
/* byte sub_sep_field[]; */
/* byte pwd_length; */
/* byte pwd_field[]; */
/* byte nsf_info_length; */
/* byte nsf_info_field[]; */
};
"drivers/isdn/hardware/eicon/message.c" 15071L, 487328C
if (pos != 0)
{
if (CAPI_MAX_DATE_TIME_LENGTH + 2 +
b3_config_parms[3].length > CAPI_MAX_HEAD_LINE_SPACE)
pos = 0;
else
{
((T30_INFO *)&nlc[1])->station_id[20 + pos++] = ' ';
((T30_INFO *)&nlc[1])->station_id[20 + pos++] = ' ';
len = (byte)b3_config_parms[2].length;
if (len > 20)
len = 20;
if (CAPI_MAX_DATE_TIME_LENGTH + 2 + len + 2 +
b3_config_parms[3].length <= CAPI_MAX_HEAD_LINE_SPACE)
{
for (i = 0; i < len; i++)
((T30_INFO *)&nlc[1])->station_id[20 + pos++] = ((byte
*)b3_config_parms[2].info)[1+i];
((T30_INFO *)&nlc[1])->station_id[20 + pos++] = ' ';
((T30_INFO *)&nlc[1])->station_id[20 + pos++] = ' ';
}
}
}
can this patch commit?
diff -up linux-2.6/drivers/isdn/hardware/eicon/divacapi.h
linux-2.6/drivers/isdn/hardware/eicon/divacapi.h.orig
--- linux-2.6/drivers/isdn/hardware/eicon/divacapi.h 2009-12-10
12:02:46.000000000 +0800
+++ linux-2.6/drivers/isdn/hardware/eicon/divacapi.h.orig 2009-12-10
11:04:07.000000000 +0800
@@ -445,7 +445,7 @@ struct _DIVA_CAPI_ADAPTER {
#define CAPI_MAX_HEAD_LINE_SPACE 89
#define CAPI_MAX_DATE_TIME_LENGTH 18
-#define T30_MAX_STATION_ID_LENGTH 30
+#define T30_MAX_STATION_ID_LENGTH 20
#define T30_MAX_SUBADDRESS_LENGTH 20
#define T30_MAX_PASSWORD_LENGTH 20
[-- Attachment #2: patch --]
[-- Type: application/octet-stream, Size: 499 bytes --]
--- linux-2.6/drivers/isdn/hardware/eicon/divacapi.h.orig 2009-12-10 11:04:07.000000000 +0800
+++ linux-2.6/drivers/isdn/hardware/eicon/divacapi.h 2009-12-10 11:04:36.000000000 +0800
@@ -445,7 +445,7 @@ struct _DIVA_CAPI_ADAPTER {
#define CAPI_MAX_HEAD_LINE_SPACE 89
#define CAPI_MAX_DATE_TIME_LENGTH 18
-#define T30_MAX_STATION_ID_LENGTH 20
+#define T30_MAX_STATION_ID_LENGTH 30
#define T30_MAX_SUBADDRESS_LENGTH 20
#define T30_MAX_PASSWORD_LENGTH 20
next reply other threads:[~2009-12-10 4:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-10 4:04 Jerry Leo [this message]
2009-12-10 14:49 ` Karsten Keil
2009-12-11 1:31 ` Jerry Leo
2009-12-10 5:46 Jerry Leo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6304b52b0912092004t646569bdm2a6bbc9bb2440aba@mail.gmail.com \
--to=jerryleo860202@gmail.com \
--cc=i4ldeveloper@listserv.isdn4linux.de \
--cc=isdn4linux@listserv.isdn4linux.de \
--cc=isdn@linux-pingi.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome