From e814ab807a05156b4e4b9bec6a0cf93e363ef696 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Tue, 11 Feb 1997 02:54:45 +0000 Subject: [PATCH] A DER integer should really be a `unsigned' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1227 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/asn1/der_get.c | 8 +++++--- lib/asn1/der_put.c | 4 ++-- lib/asn1/gen.c | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/asn1/der_get.c b/lib/asn1/der_get.c index 25ef02ce7..511ac87bf 100644 --- a/lib/asn1/der_get.c +++ b/lib/asn1/der_get.c @@ -17,7 +17,7 @@ */ int -der_get_int (unsigned char *p, int len, int *ret) +der_get_int (unsigned char *p, int len, unsigned *ret) { int val = 0; int oldlen = len; @@ -41,11 +41,13 @@ der_get_length (unsigned char *p, int len, int *ret) return 1; } else { int l; + unsigned tmp; val &= 0x7F; if (len < val) return -1; - l = der_get_int (p, val, ret); + l = der_get_int (p, val, &tmp); + *ret = tmp; if (l < 0) return l; else @@ -128,7 +130,7 @@ der_match_tag (unsigned char *p, int len, Der_class class, Der_type type, int decode_integer (unsigned char *p, int len, void *data) { - int *num = (int *)data; + unsigned *num = (unsigned *)data; int ret = 0; int l, reallen; diff --git a/lib/asn1/der_put.c b/lib/asn1/der_put.c index 158a65d02..b9844b5a0 100644 --- a/lib/asn1/der_put.c +++ b/lib/asn1/der_put.c @@ -17,7 +17,7 @@ */ int -der_put_int (unsigned char *p, int len, int val) +der_put_int (unsigned char *p, int len, unsigned val) { unsigned char *base = p; @@ -107,7 +107,7 @@ der_put_tag (unsigned char *p, int len, Der_class class, Der_type type, int encode_integer (unsigned char *p, int len, void *data) { - int num = *((int *)data); + unsigned num = *((unsigned *)data); int ret = 0; int l; diff --git a/lib/asn1/gen.c b/lib/asn1/gen.c index 554d45152..cbdf96823 100644 --- a/lib/asn1/gen.c +++ b/lib/asn1/gen.c @@ -52,7 +52,7 @@ define_type (char *name, Type *t) fprintf (headerfile, "%s %s;\n", t->symbol->gen_name, name); break; case TInteger: - fprintf (headerfile, "int %s;\n", name); + fprintf (headerfile, "unsigned %s;\n", name); break; case TOctetString: fprintf (headerfile, "krb5_data %s;\n", name);