diff --git a/appl/popper/auth_gssapi.c b/appl/popper/auth_gssapi.c index 6763d13e8..032efe7ee 100644 --- a/appl/popper/auth_gssapi.c +++ b/appl/popper/auth_gssapi.c @@ -66,10 +66,13 @@ gss_set_error (struct gss_state *gs, int min_stat) gs->mech_oid, &msg_ctx, &status_string); - asprintf(&cstr, "%.*s", (int)status_string.length, - (const char *)status_string.value); - pop_auth_set_error(cstr); - free(cstr); + if (asprintf(&cstr, "%.*s", (int)status_string.length, + (const char *)status_string.value) >= 0) { + pop_auth_set_error(cstr); + free(cstr); + } else { + pop_auth_set_error("unknown error"); + } gss_release_buffer (&new_stat, &status_string); } while (!GSS_ERROR(ret) && msg_ctx != 0); } diff --git a/lib/gssapi/krb5/test_cred.c b/lib/gssapi/krb5/test_cred.c index 420c2a8a1..f5f50e1c8 100644 --- a/lib/gssapi/krb5/test_cred.c +++ b/lib/gssapi/krb5/test_cred.c @@ -52,7 +52,7 @@ gss_print_errors (int min_stat) GSS_C_NO_OID, &msg_ctx, &status_string); - fprintf (stderr, "%.*s\n", (int)status_string.legnth, + fprintf (stderr, "%.*s\n", (int)status_string.length, (char *)status_string.value); gss_release_buffer (&new_stat, &status_string); } while (!GSS_ERROR(ret) && msg_ctx != 0); diff --git a/lib/gssapi/test_cred.c b/lib/gssapi/test_cred.c index 1551627c3..3c81bb5f9 100644 --- a/lib/gssapi/test_cred.c +++ b/lib/gssapi/test_cred.c @@ -62,7 +62,7 @@ gss_print_errors (int min_stat) &msg_ctx, &status_string); if (!GSS_ERROR(ret)) { - fprintf (stderr, "%.*s\n", (int)status_string.value, + fprintf (stderr, "%.*s\n", (int)status_string.length, (char *)status_string.value); gss_release_buffer (&new_stat, &status_string); }