diff options
author | Jakub Hrozek <jakub.hrozek@gmail.com> | 2014-12-03 15:45:09 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-12-05 23:32:07 +0100 |
commit | 5c0ada1d570175498a4b97628b6f1dc45a72109a (patch) | |
tree | df7919f3758f2e149c3488a92836277982ea3e3c /lib | |
parent | 3b3fc1a21830d136bc1e571d08913dbec5b06336 (diff) | |
download | samba-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.c | 12 |
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; |