summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--hesiod/hesiod.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 063323b76e..ea6d2b46f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ * hesiod/hesiod.c (hesiod_init): Don't check for ctx->classes[0] == 0
+ or both classes equal here.
+ (parse_config_file): If both classes are equal, clear the second one.
+
2005-06-08 Karl Kelley <kekelley@iastate.edu>
* hesiod/hesiod_p.h (struct hesiod_p): Add classes array.
diff --git a/hesiod/hesiod.c b/hesiod/hesiod.c
index e0ce510866..b73aa3ce94 100644
--- a/hesiod/hesiod.c
+++ b/hesiod/hesiod.c
@@ -126,7 +126,7 @@ hesiod_init(void **context) {
* If there is no default hesiod realm set, we return an
* error.
*/
- if (!ctx->RHS || ctx->classes[0] == 0 || ctx->classes[0] == ctx->classes[1]) {
+ if (!ctx->RHS) {
__set_errno(ENOEXEC);
goto cleanup;
}
@@ -327,7 +327,8 @@ parse_config_file(struct hesiod_p *ctx, const char *filename) {
nother at all. */
ctx->classes[0] = C_IN;
ctx->classes[1] = C_HS;
- } else if (n == 1)
+ } else if (n == 1
+ || ctx->classes[0] == ctx->classes[1])
ctx->classes[1] = 0;
}
}