From 5ad27a3dc4b957191e2e657d41656810138ba789 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Sat, 11 Mar 2017 16:09:55 +0000 Subject: Adapt to skalibs-2.5.0.0 --- src/skadns/skadns_send.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/skadns/skadns_send.c') diff --git a/src/skadns/skadns_send.c b/src/skadns/skadns_send.c index f485c92..35177c2 100644 --- a/src/skadns/skadns_send.c +++ b/src/skadns/skadns_send.c @@ -1,10 +1,10 @@ /* ISC license. */ +#include +#include #include #include -#include -#include -#include +#include #include #include #include @@ -19,14 +19,19 @@ int skadns_send (skadns_t *a, uint16_t *u, s6dns_domain_t const *d, uint16_t qty unsigned int i ; char tmp[17] = "--Q" ; char err ; - siovec_t v[2] = { { .s = tmp, .len = 17 }, { .s = (char *)d->s, .len = d->len } } ; + struct iovec v[2] = { { .iov_base = tmp, .iov_len = 17 }, { .iov_base = (void *)d->s, .iov_len = d->len } } ; if (!gensetdyn_new(&a->q, &i)) return 0 ; + if (i > UINT16_MAX) + { + gensetdyn_delete(&a->q, i) ; + return (errno = EMFILE, 0) ; + } uint16_pack_big(tmp, (uint16_t)i) ; uint16_pack_big(tmp + 3, qtype) ; - if (limit) tain_pack(tmp + 5, limit) ; else byte_zero(tmp + 5, 12) ; + if (limit) tain_pack(tmp + 5, limit) ; else memset(tmp + 5, 0, 12) ; if (!skaclient_sendv(&a->connection, v, 2, &skaclient_default_cb, &err, deadline, stamp)) { - register int e = errno ; + int e = errno ; gensetdyn_delete(&a->q, i) ; errno = e ; return 0 ; -- cgit v1.3.1