Fixed erroneous string lengths.
[utils.git] / pam_krb5auto.c
index ac53d66..6f9bc73 100644 (file)
@@ -183,8 +183,8 @@ static int savecreds(pam_handle_t *pamh, struct options *opts, struct data *data
     if(opts->debug)
        log(LOG_DEBUG, "got creds successfully");
     snprintf(buf, sizeof(buf), "KRB5CCNAME=FILE:/tmp/krb5cc_%i_XXXXXX", data->uid);
-    ccname = buf + sizeof("KRB5CCNAME=");
-    filename = ccname + sizeof("FILE:");
+    ccname = buf + sizeof("KRB5CCNAME=") - 1;
+    filename = ccname + sizeof("FILE:") - 1;
     if((fd = mkstemp(filename)) < 0) {
        log(LOG_ERR, "could not create tempfile for credentials cache: %s", strerror(errno));
        ret = PAM_SERVICE_ERR;
@@ -259,6 +259,8 @@ PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const cha
     int ret;
     
     opts = parseopts(argc, argv);
+    if(opts->debug)
+       log(LOG_DEBUG, "pam_sm_setcred called");
     data = getdata(pamh, opts);
     if(data == NULL) {
        log(LOG_ERR, "could not get data, erroring out");