diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-29 01:01:05 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-01-29 01:01:05 +0000 |
commit | b8add56ed0910c3cb749ec2a6f2f7531a847132e (patch) | |
tree | 39f154a15093fbf42db9b90b67a75bfa8bee1b26 | |
parent | 2e46b762eb1c15de2bcda785469a753a753747fb (diff) | |
download | postgresql-b8add56ed0910c3cb749ec2a6f2f7531a847132e.tar.gz postgresql-b8add56ed0910c3cb749ec2a6f2f7531a847132e.zip |
Fix array subscript overruns identified by Yichen Xie.
-rw-r--r-- | src/backend/utils/mb/conversion_procs/euc_tw_and_big5/big5.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/big5.c b/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/big5.c index ad509670d4d..7fca11563e3 100644 --- a/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/big5.c +++ b/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/big5.c @@ -7,7 +7,7 @@ * * 1999/1/15 Tatsuo Ishii * - * $Id: big5.c,v 1.2 2002/09/04 20:31:31 momjian Exp $ + * $Id: big5.c,v 1.3 2003/01/29 01:01:05 tgl Exp $ */ /* can be used in either frontend or backend */ @@ -299,7 +299,7 @@ BIG5toCNS(unsigned short big5, unsigned char *lc) { /* level 1 */ - for (i = 0; i < sizeof(b1c4) / sizeof(unsigned short); i++) + for (i = 0; i < sizeof(b1c4) / (sizeof(unsigned short) * 2); i++) { if (b1c4[i][0] == big5) { @@ -320,7 +320,7 @@ BIG5toCNS(unsigned short big5, unsigned char *lc) else { /* level 2 */ - for (i = 0; i < sizeof(b2c3) / sizeof(unsigned short); i++) + for (i = 0; i < sizeof(b2c3) / (sizeof(unsigned short) * 2); i++) { if (b2c3[i][0] == big5) { @@ -359,14 +359,14 @@ CNStoBIG5(unsigned short cns, unsigned char lc) big5 = BinarySearchRange(cnsPlane2ToBig5Level2, 47, cns); break; case LC_CNS11643_3: - for (i = 0; i < sizeof(b2c3) / sizeof(unsigned short); i++) + for (i = 0; i < sizeof(b2c3) / (sizeof(unsigned short) * 2); i++) { if (b2c3[i][1] == cns) return (b2c3[i][0]); } break; case LC_CNS11643_4: - for (i = 0; i < sizeof(b1c4) / sizeof(unsigned short); i++) + for (i = 0; i < sizeof(b1c4) / (sizeof(unsigned short) * 2); i++) { if (b1c4[i][1] == cns) return (b1c4[i][0]); |