possible bug in 1.6.1 gic_opt.c
Jeffrey Altman
jaltman at columbia.edu
Tue May 1 19:04:16 EDT 2007
Please try this patch to src/include/k5-int.h:
Index: k5-int.h
===================================================================
--- k5-int.h (revision 19525)
+++ k5-int.h (working copy)
@@ -1048,9 +1048,9 @@
#define KRB5_GET_INIT_CREDS_OPT_SHADOWED 0x40000000
#define krb5_gic_opt_is_extended(s) \
- (((s)->flags & KRB5_GET_INIT_CREDS_OPT_EXTENDED) ? 1 : 0)
+ ((s) && ((s)->flags & KRB5_GET_INIT_CREDS_OPT_EXTENDED) ? 1 : 0)
#define krb5_gic_opt_is_shadowed(s) \
- (((s)->flags & KRB5_GET_INIT_CREDS_OPT_SHADOWED) ? 1 : 0)
+ ((s) && ((s)->flags & KRB5_GET_INIT_CREDS_OPT_SHADOWED) ? 1 : 0)
typedef struct _krb5_gic_opt_private {
Jeffrey Altman
Secure Endpoints Inc.
Mike Dopheide wrote:
> We're testing OpenSSH (with GSSAPI patches) and MIT Kerberos 1.6.1 on
> RedHat Linux 4 (x86_64). We're seeing a segfault in
> krb5_get_init_creds_password. Below is a backtrace and comments (Thanks
> Jim).
>
> Program received signal SIGSEGV, Segmentation fault.
> krb5int_gic_opt_to_opte (context=0x571fb0, opt=0x0, opte=0x7fbfffd4e8,
> force=1, where=0x2a962d40b7 "krb5_get_init_creds_password")
> at ../../../../krb5-1.6.1.ncsa/src/lib/krb5/krb/gic_opt.c:235
> 235 ../../../../krb5-1.6.1.ncsa/src/lib/krb5/krb/gic_opt.c: No
> such file or directory.
> in ../../../../krb5-1.6.1.ncsa/src/lib/krb5/krb/gic_opt.c
> (gdb) backtrace
> #0 krb5int_gic_opt_to_opte (context=0x571fb0, opt=0x0,
> opte=0x7fbfffd4e8, force=1, where=0x2a962d40b7
> "krb5_get_init_creds_password")
> at ../../../../krb5-1.6.1.ncsa/src/lib/krb5/krb/gic_opt.c:235
>
> "This line is dereferencing opt, which is NULL. It needs a check for
> opt==NULL."
>
> #1 0x0000002a962a9a3b in krb5_get_init_creds_password
> (context=0x571fb0, creds=0x7fbfffe350, client=0x571710,
> password=0x571d70 "vintage1990Z", prompter=0, data=0x0, start_time=0,
> in_tkt_service=0x0, options=0x0)
> at ../../../../krb5-1.6.1.ncsa/src/lib/krb5/krb/gic_pwd.c:132
>
> "Probably shouldn't be calling krb5int_gic_opt_to_opte() here if
> options==NULL."
>
> If time permits tomorrow I'll see about writing a patch and retesting.
>
> -Mike
> _______________________________________________
> krbdev mailing list krbdev at mit.edu
> https://mailman.mit.edu/mailman/listinfo/krbdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3323 bytes
Desc: S/MIME Cryptographic Signature
Url : http://mailman.mit.edu/pipermail/krbdev/attachments/20070501/327eefcf/attachment.bin
More information about the krbdev
mailing list