>From 97b2e90373ac4caa267fb7fcf60dba9537b40406 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Tue, 14 Oct 2014 11:20:40 +0200 Subject: [PATCH 1/2] krb5: Check return value of krb5_principal_get_realm Function krb5_principal_get_realm can return NULL an it would case segfault in function strlen. --- src/util/sss_krb5.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/util/sss_krb5.c b/src/util/sss_krb5.c index b4012593d96bc951143e4bb2ba7a91d118b1a53c..7daedb47464917966350f94c7d5b0844ccee7edb 100644 --- a/src/util/sss_krb5.c +++ b/src/util/sss_krb5.c @@ -834,8 +834,15 @@ void sss_krb5_get_init_creds_opt_set_canonicalize(krb5_get_init_creds_opt *opts, void sss_krb5_princ_realm(krb5_context context, krb5_const_principal princ, const char **realm, int *len) { - *realm = krb5_principal_get_realm(context, princ); - *len = strlen(*realm); + const char *realm_str = krb5_principal_get_realm(context, princ); + + if (realm_str != NULL) { + *realm = krb5_principal_get_realm(context, princ); + *len = strlen(*realm); + } else { + *realm = NULL; + *len = 0; + } } #else void sss_krb5_princ_realm(krb5_context context, krb5_const_principal princ, -- 2.1.0