From 5c0ada1d570175498a4b97628b6f1dc45a72109a Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 3 Dec 2014 15:45:09 +0100 Subject: [PATCH] rwrap: Don't dereference NULL when skipping broken records. CID: 83426 CID: 83425 Signed-off-by: Jakub Hrozek Reviewed-by: Michael Adam Reviewed-by: Andreas Schneider Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlett --- lib/resolv_wrapper/resolv_wrapper.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/resolv_wrapper/resolv_wrapper.c b/lib/resolv_wrapper/resolv_wrapper.c index a0b28211597..7211ad087a4 100644 --- a/lib/resolv_wrapper/resolv_wrapper.c +++ b/lib/resolv_wrapper/resolv_wrapper.c @@ -678,12 +678,6 @@ static int rwrap_get_record(const char *hostfile, unsigned recursion, NEXT_KEY(rec_type, key); NEXT_KEY(key, value); - q = value; - while(q[0] != '\n' && q[0] != '\0') { - q++; - } - q[0] = '\0'; - if (key == NULL || value == NULL) { RWRAP_LOG(RWRAP_LOG_WARN, "Malformed line: not enough parts, use \"rec_type key data\n" @@ -691,6 +685,12 @@ static int rwrap_get_record(const char *hostfile, unsigned recursion, continue; } + q = value; + while(q[0] != '\n' && q[0] != '\0') { + q++; + } + q[0] = '\0'; + if (TYPE_MATCH(type, ns_t_a, rec_type, "A", key, query)) { rc = rwrap_create_fake_a_rr(key, value, rr); break; -- 2.34.1