- char pwbuf[BUFSIZ];
- char *localuser = NULL;
- struct passwd *pwd = NULL;
- struct passwd pw;
- int code = 0;
-
- localname.value = NULL;
- major = gss_localname(minor, name, mech_type, &localname);
- if (!GSS_ERROR(major) && localname.value) {
- localuser = malloc(localname.length + 1);
- if (localuser == NULL)
- code = ENOMEM;
- if (code == 0) {
- memcpy(localuser, localname.value, localname.length);
- localuser[localname.length] = '\0';
- code = k5_getpwnam_r(localuser, &pw, pwbuf, sizeof(pwbuf), &pwd);
- }
- if ((code == 0) && pwd)
- *uidOut = pwd->pw_uid;
- else major = GSS_S_FAILURE;
- }
- free(localuser);
- if (localname.value)
- gss_release_buffer(&tmpminor, &localname);
+ char pwbuf[BUFSIZ];
+ char *localuser = NULL;
+ struct passwd *pwd = NULL;
+ struct passwd pw;
+ int code = 0;
+
+ localname.value = NULL;
+ major = gss_localname(minor, name, mech_type, &localname);
+ if (!GSS_ERROR(major) && localname.value) {
+ localuser = malloc(localname.length + 1);
+ if (localuser == NULL)
+ code = ENOMEM;
+ if (code == 0) {
+ memcpy(localuser, localname.value, localname.length);
+ localuser[localname.length] = '\0';
+ code = k5_getpwnam_r(localuser, &pw, pwbuf, sizeof(pwbuf), &pwd);
+ }
+ if ((code == 0) && pwd)
+ *uidOut = pwd->pw_uid;
+ else
+ major = GSS_S_FAILURE;
+ }
+ free(localuser);
+ if (localname.value)
+ gss_release_buffer(&tmpminor, &localname);