diff --git a/asn1/parse.y b/asn1/parse.y index 8a195b20a..6f2b61af6 100644 --- a/asn1/parse.y +++ b/asn1/parse.y @@ -14,6 +14,9 @@ static Type *new_type (Typetype t); void yyerror (char *); char *strdup(char *); + +static void append (Member *l, Member *r); + %} %union { diff --git a/cache.c b/cache.c index 2b67e7b85..a26644d3d 100644 --- a/cache.c +++ b/cache.c @@ -433,6 +433,7 @@ krb5_cc_store_cred(krb5_context context, store_ticket(fd, creds->ticket); store_ticket(fd, creds->second_ticket); close(fd); + return 0; } static krb5_error_code diff --git a/get_addrs.c b/get_addrs.c index c94dabdd6..d6b2657c3 100644 --- a/get_addrs.c +++ b/get_addrs.c @@ -26,6 +26,8 @@ krb5_get_all_client_addrs (krb5_addresses *res) res->number = 1; res->addrs = malloc (sizeof(*res->addrs)); res->addrs[0].type = hostent->h_addrtype; + res->addrs[0].address.data = NULL; + res->addrs[0].address.length = 0; err = krb5_data_alloc (&res->addrs[0].address, hostent->h_length); if (err) return err; diff --git a/krb5.h b/krb5.h index 82f748d64..d869db919 100644 --- a/krb5.h +++ b/krb5.h @@ -21,6 +21,7 @@ #define FALSE 0 #endif +#if 1 /* types */ typedef int int32_t; typedef short int16_t; @@ -29,6 +30,7 @@ typedef char int8_t; typedef unsigned int u_int32_t; typedef unsigned short u_int16_t; typedef unsigned char u_int8_t; +#endif typedef int krb5_boolean; diff --git a/krb5_locl.h b/krb5_locl.h index df09c62a8..a2ed34b85 100644 --- a/krb5_locl.h +++ b/krb5_locl.h @@ -17,7 +17,7 @@ #include #include #include - +#include #include #include "krb5.h" diff --git a/lib/asn1/parse.y b/lib/asn1/parse.y index 8a195b20a..6f2b61af6 100644 --- a/lib/asn1/parse.y +++ b/lib/asn1/parse.y @@ -14,6 +14,9 @@ static Type *new_type (Typetype t); void yyerror (char *); char *strdup(char *); + +static void append (Member *l, Member *r); + %} %union { diff --git a/lib/krb5/cache.c b/lib/krb5/cache.c index 2b67e7b85..a26644d3d 100644 --- a/lib/krb5/cache.c +++ b/lib/krb5/cache.c @@ -433,6 +433,7 @@ krb5_cc_store_cred(krb5_context context, store_ticket(fd, creds->ticket); store_ticket(fd, creds->second_ticket); close(fd); + return 0; } static krb5_error_code diff --git a/lib/krb5/get_addrs.c b/lib/krb5/get_addrs.c index c94dabdd6..d6b2657c3 100644 --- a/lib/krb5/get_addrs.c +++ b/lib/krb5/get_addrs.c @@ -26,6 +26,8 @@ krb5_get_all_client_addrs (krb5_addresses *res) res->number = 1; res->addrs = malloc (sizeof(*res->addrs)); res->addrs[0].type = hostent->h_addrtype; + res->addrs[0].address.data = NULL; + res->addrs[0].address.length = 0; err = krb5_data_alloc (&res->addrs[0].address, hostent->h_length); if (err) return err; diff --git a/lib/krb5/krb5.h b/lib/krb5/krb5.h index 82f748d64..d869db919 100644 --- a/lib/krb5/krb5.h +++ b/lib/krb5/krb5.h @@ -21,6 +21,7 @@ #define FALSE 0 #endif +#if 1 /* types */ typedef int int32_t; typedef short int16_t; @@ -29,6 +30,7 @@ typedef char int8_t; typedef unsigned int u_int32_t; typedef unsigned short u_int16_t; typedef unsigned char u_int8_t; +#endif typedef int krb5_boolean; diff --git a/lib/krb5/krb5_locl.h b/lib/krb5/krb5_locl.h index df09c62a8..a2ed34b85 100644 --- a/lib/krb5/krb5_locl.h +++ b/lib/krb5/krb5_locl.h @@ -17,7 +17,7 @@ #include #include #include - +#include #include #include "krb5.h" diff --git a/lib/krb5/principal.c b/lib/krb5/principal.c index 2735abefe..ae3a6b9b8 100644 --- a/lib/krb5/principal.c +++ b/lib/krb5/principal.c @@ -221,6 +221,8 @@ krb5_principal_set_component(krb5_principal p, int n, void *data, size_t len) p->comp = tmp; p->ncomp = s; } + p->comp[n].length = 0; + p->comp[n].data = NULL; krb5_data_copy(&p->comp[n], data, len); return 0; } diff --git a/principal.c b/principal.c index 2735abefe..ae3a6b9b8 100644 --- a/principal.c +++ b/principal.c @@ -221,6 +221,8 @@ krb5_principal_set_component(krb5_principal p, int n, void *data, size_t len) p->comp = tmp; p->ncomp = s; } + p->comp[n].length = 0; + p->comp[n].data = NULL; krb5_data_copy(&p->comp[n], data, len); return 0; }