diff options
author | 2017-02-17 22:24:45 +0000 | |
---|---|---|
committer | 2017-02-17 22:24:45 +0000 | |
commit | 92f7551051a82acd2ab08ca85a8c34ce754565a5 (patch) | |
tree | 411a822e26cbf6701828876940b8d5ebcc26a3ba /lib/libc/asr/asr_utils.c | |
parent | regen (diff) | |
download | wireguard-openbsd-92f7551051a82acd2ab08ca85a8c34ce754565a5.tar.xz wireguard-openbsd-92f7551051a82acd2ab08ca85a8c34ce754565a5.zip |
use common errnos instead of random strings as error indicators in
pack/unpack contexts.
ok krw@ deraadt@
Diffstat (limited to 'lib/libc/asr/asr_utils.c')
-rw-r--r-- | lib/libc/asr/asr_utils.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/libc/asr/asr_utils.c b/lib/libc/asr/asr_utils.c index 44a89114f4a..835d5dfb448 100644 --- a/lib/libc/asr/asr_utils.c +++ b/lib/libc/asr/asr_utils.c @@ -1,4 +1,4 @@ -/* $OpenBSD: asr_utils.c,v 1.13 2015/09/09 15:49:34 deraadt Exp $ */ +/* $OpenBSD: asr_utils.c,v 1.14 2017/02/17 22:24:45 eric Exp $ */ /* * Copyright (c) 2009-2012 Eric Faurot <eric@faurot.net> * @@ -167,7 +167,7 @@ _asr_pack_init(struct asr_pack *pack, char *buf, size_t len) pack->buf = buf; pack->len = len; pack->offset = 0; - pack->err = NULL; + pack->err = 0; } void @@ -176,7 +176,7 @@ _asr_unpack_init(struct asr_unpack *unpack, const char *buf, size_t len) unpack->buf = buf; unpack->len = len; unpack->offset = 0; - unpack->err = NULL; + unpack->err = 0; } static int @@ -186,7 +186,7 @@ unpack_data(struct asr_unpack *p, void *data, size_t len) return (-1); if (p->len - p->offset < len) { - p->err = "too short"; + p->err = EOVERFLOW; return (-1); } @@ -240,11 +240,11 @@ unpack_dname(struct asr_unpack *p, char *dst, size_t max) e = dname_expand(p->buf, p->len, p->offset, &p->offset, dst, max); if (e == -1) { - p->err = "bad domain name"; + p->err = EINVAL; return (-1); } if (e < 0 || e > MAXDNAME) { - p->err = "domain name too long"; + p->err = ERANGE; return (-1); } @@ -292,7 +292,7 @@ _asr_unpack_rr(struct asr_unpack *p, struct asr_dns_rr *rr) return (-1); if (p->len - p->offset < rdlen) { - p->err = "too short"; + p->err = EOVERFLOW; return (-1); } @@ -350,7 +350,7 @@ _asr_unpack_rr(struct asr_unpack *p, struct asr_dns_rr *rr) /* make sure that the advertised rdlen is really ok */ if (p->offset - save_offset != rdlen) - p->err = "bad dlen"; + p->err = EINVAL; return (p->err) ? (-1) : (0); } @@ -362,7 +362,7 @@ pack_data(struct asr_pack *p, const void *data, size_t len) return (-1); if (p->len < p->offset + len) { - p->err = "no space"; + p->err = EOVERFLOW; return (-1); } |