From 328d32e5a30583b236038ff190d1d267b4a6a8e3 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Mon, 7 Jul 1997 09:48:01 +0000 Subject: [PATCH] fix bug in `krb5_config_vget_string' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2014 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/config_file.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/krb5/config_file.c b/lib/krb5/config_file.c index f75f9162f..112172bd1 100644 --- a/lib/krb5/config_file.c +++ b/lib/krb5/config_file.c @@ -2,8 +2,11 @@ #include "config_file.h" RCSID("$Id$"); -static int parse_section(char *p, krb5_config_section **s, krb5_config_section **res); -static int parse_binding(FILE *f, unsigned *lineno, char *p, krb5_config_binding **b, krb5_config_binding **parent); +static int parse_section(char *p, krb5_config_section **s, + krb5_config_section **res); +static int parse_binding(FILE *f, unsigned *lineno, char *p, + krb5_config_binding **b, + krb5_config_binding **parent); static int parse_list(FILE *f, unsigned *lineno, krb5_config_binding **parent); static int @@ -221,7 +224,8 @@ krb5_config_vget_string (krb5_config_section *c, char *section, va_list args) if (c == NULL) return NULL; p = va_arg(args, char *); - for (b = c->list; b; b = b->next) + b = c->list; + while (b) { if (strcmp (b->name, p) == 0) { p = va_arg(args, char *); if (b->type == STRING) @@ -236,7 +240,9 @@ krb5_config_vget_string (krb5_config_section *c, char *section, va_list args) b = b->u.list; else abort(); - } + } else + b = b->next; + } return NULL; }