Skip to content
Snippets Groups Projects
Commit aa0f8593 authored by Yang Tse's avatar Yang Tse
Browse files

fix compiler warning
parent 4186b5b4
No related branches found
No related tags found
No related merge requests found
......@@ -69,17 +69,21 @@ int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf,
int len, indir = 0;
char *q;
const unsigned char *p;
union {
ssize_t sig;
size_t uns;
} nlen;
len = name_length(encoded, abuf, alen);
if (len < 0)
nlen.sig = name_length(encoded, abuf, alen);
if (nlen.sig < 0)
return ARES_EBADNAME;
*s = malloc(((size_t)len) + 1);
*s = malloc(nlen.uns + 1);
if (!*s)
return ARES_ENOMEM;
q = *s;
if (len == 0) {
if (nlen.uns == 0) {
/* RFC2181 says this should be ".": the root of the DNS tree.
* Since this function strips trailing dots though, it becomes ""
*/
......
......@@ -46,26 +46,30 @@ int ares_expand_string(const unsigned char *encoded,
long *enclen)
{
unsigned char *q;
long len;
union {
ssize_t sig;
size_t uns;
} elen;
if (encoded == abuf+alen)
return ARES_EBADSTR;
len = *encoded;
if (encoded+len+1 > abuf+alen)
elen.uns = *encoded;
if (encoded+elen.sig+1 > abuf+alen)
return ARES_EBADSTR;
encoded++;
*s = malloc(len+1);
*s = malloc(elen.uns+1);
if (*s == NULL)
return ARES_ENOMEM;
q = *s;
strncpy((char *)q, (char *)encoded, len);
q[len] = '\0';
strncpy((char *)q, (char *)encoded, elen.uns);
q[elen.uns] = '\0';
*s = q;
*enclen = len+1;
*enclen = (long)(elen.sig+1);
return ARES_SUCCESS;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment