diff options
Diffstat (limited to 'utils/gssd')
-rw-r--r-- | utils/gssd/cacheio.c | 6 | ||||
-rw-r--r-- | utils/gssd/cacheio.h | 2 | ||||
-rw-r--r-- | utils/gssd/svcgssd_proc.c | 5 |
3 files changed, 8 insertions, 5 deletions
diff --git a/utils/gssd/cacheio.c b/utils/gssd/cacheio.c index 75c7a5d..f2f2960 100644 --- a/utils/gssd/cacheio.c +++ b/utils/gssd/cacheio.c @@ -173,11 +173,13 @@ void qword_printint(FILE *f, int num) printerr(2, "%d ", num); } -void qword_eol(FILE *f) +int qword_eol(FILE *f) { + int err; fprintf(f,"\n"); - fflush(f); + err = fflush(f); printerr(2, "\n"); + return err; } diff --git a/utils/gssd/cacheio.h b/utils/gssd/cacheio.h index cc97b36..dfff258 100644 --- a/utils/gssd/cacheio.h +++ b/utils/gssd/cacheio.h @@ -40,7 +40,7 @@ void qword_addeol(char **bpp, int *lp); void qword_print(FILE *f, char *str); void qword_printhex(FILE *f, char *str, int slen); void qword_printint(FILE *f, int num); -void qword_eol(FILE *f); +int qword_eol(FILE *f); int readline(int fd, char **buf, int *lenp); int qword_get(char **bpp, char *dest, int bufsize); int qword_get_int(char **bpp, int *anint); diff --git a/utils/gssd/svcgssd_proc.c b/utils/gssd/svcgssd_proc.c index 7981399..4037159 100644 --- a/utils/gssd/svcgssd_proc.c +++ b/utils/gssd/svcgssd_proc.c @@ -72,6 +72,7 @@ do_svc_downcall(gss_buffer_desc *out_handle, struct svc_cred *cred, FILE *f; int i; char *fname = NULL; + int err; printerr(1, "doing downcall\n"); if ((fname = mech2file(mech)) == NULL) @@ -93,9 +94,9 @@ do_svc_downcall(gss_buffer_desc *out_handle, struct svc_cred *cred, qword_printint(f, cred->cr_groups[i]); qword_print(f, fname); qword_printhex(f, context_token->value, context_token->length); - qword_eol(f); + err = qword_eol(f); fclose(f); - return 0; + return err; out_err: printerr(0, "WARNING: downcall failed\n"); return -1; |