summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2001-06-22 03:28:46 +0000
committerKen Raeburn <raeburn@mit.edu>2001-06-22 03:28:46 +0000
commitd39bbf5a844c1b9fc5e299f91bfe5457866ed544 (patch)
treedb369e31c77e904e3327d6cab65b6b48890a22df /src
parent05c949ee0fc3bd5afa0a1567aa998b7ca515600a (diff)
downloadkrb5-d39bbf5a844c1b9fc5e299f91bfe5457866ed544.tar.gz
krb5-d39bbf5a844c1b9fc5e299f91bfe5457866ed544.tar.xz
krb5-d39bbf5a844c1b9fc5e299f91bfe5457866ed544.zip
* destest.c (value): Now signed int, since some entries are negative.
(convert): Do bounds checking on character values used as indices into value array. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@13477 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/crypto/des/ChangeLog5
-rw-r--r--src/lib/crypto/des/destest.c12
2 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/crypto/des/ChangeLog b/src/lib/crypto/des/ChangeLog
index c16658a005..01330958da 100644
--- a/src/lib/crypto/des/ChangeLog
+++ b/src/lib/crypto/des/ChangeLog
@@ -1,5 +1,10 @@
2001-06-21 Ken Raeburn <raeburn@mit.edu>
+ * destest.c (value): Now signed int, since some entries are
+ negative.
+ (convert): Do bounds checking on character values used as indices
+ into value array.
+
* string2key.c (mit_des_string_to_key_int): Now static.
2001-06-21 Ezra Peisach <epeisach@mit.edu>
diff --git a/src/lib/crypto/des/destest.c b/src/lib/crypto/des/destest.c
index fcddc49d6d..0995b08bb1 100644
--- a/src/lib/crypto/des/destest.c
+++ b/src/lib/crypto/des/destest.c
@@ -67,8 +67,8 @@ krb5_octet zeroblock[8] = {0,0,0,0,0,0,0,0};
int
main(argc, argv)
-int argc;
-char *argv[];
+ int argc;
+ char *argv[];
{
char block1[17], block2[17], block3[17];
@@ -127,7 +127,7 @@ char *argv[];
exit( (error > 256 && error % 256) ? 1 : error);
}
-unsigned int value[128] = {
+int value[128] = {
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -148,11 +148,13 @@ unsigned int value[128] = {
void
convert(text, cblock)
-char *text;
-unsigned char cblock[];
+ char *text;
+ unsigned char cblock[];
{
register int i;
for (i = 0; i < 8; i++) {
+ if (text[i*2] < 0 || text[i*2] >= 128)
+ abort ();
if (value[(int) text[i*2]] == -1 || value[(int) text[i*2+1]] == -1) {
printf("Bad value byte %d in %s\n", i, text);
exit(1);