summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJakub Hrozek <jakub.hrozek@gmail.com>2014-12-03 15:45:09 +0100
committerAndrew Bartlett <abartlet@samba.org>2014-12-05 23:32:07 +0100
commit5c0ada1d570175498a4b97628b6f1dc45a72109a (patch)
treedf7919f3758f2e149c3488a92836277982ea3e3c /lib
parent3b3fc1a21830d136bc1e571d08913dbec5b06336 (diff)
downloadsamba-5c0ada1d570175498a4b97628b6f1dc45a72109a.tar.gz
samba-5c0ada1d570175498a4b97628b6f1dc45a72109a.tar.xz
samba-5c0ada1d570175498a4b97628b6f1dc45a72109a.zip
rwrap: Don't dereference NULL when skipping broken records.
CID: 83426 CID: 83425 Signed-off-by: Jakub Hrozek <jakub.hrozek@gmail.com> Reviewed-by: Michael Adam <obnox@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/resolv_wrapper/resolv_wrapper.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/resolv_wrapper/resolv_wrapper.c b/lib/resolv_wrapper/resolv_wrapper.c
index a0b2821159..7211ad087a 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;