diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/krb5/ccache/stdio/scc_read.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/stdio/scc_read.c b/src/lib/krb5/ccache/stdio/scc_read.c index b4ebffea9..d393c3f67 100644 --- a/src/lib/krb5/ccache/stdio/scc_read.c +++ b/src/lib/krb5/ccache/stdio/scc_read.c @@ -106,7 +106,7 @@ krb5_scc_read_principal(id, princ) tmpprinc = (krb5_principal) malloc(sizeof(krb5_principal_data)); if (tmpprinc == NULL) return KRB5_CC_NOMEM; - tmpprinc->data = malloc(length * sizeof(krb5_principal_data)); + tmpprinc->data = (krb5_data *) malloc(length * sizeof(krb5_data)); if (tmpprinc->data == 0) { free((char *)tmpprinc); return KRB5_CC_NOMEM; @@ -242,6 +242,10 @@ krb5_scc_read_data(id, data) } data->data[data->length] = 0; /* Null terminate just in case.... */ return KRB5_OK; + errout: + if (data->data) + xfree(data->data); + return kret; } krb5_error_code |
