Line
Link Here
|
0 |
-- src/mydns/update.c 2005-12-18 20:16:41.000000000 +0100 |
0 |
++ src/mydns/update.c 2007-04-28 11:14:15.000000000 +0200 |
Lines 228-233
Link Here
|
228 |
DNS_GET16(rr->class, src); |
228 |
DNS_GET16(rr->class, src); |
229 |
DNS_GET32(rr->ttl, src); |
229 |
DNS_GET32(rr->ttl, src); |
230 |
DNS_GET16(rr->rdlength, src); |
230 |
DNS_GET16(rr->rdlength, src); |
|
|
231 |
if(rr->rdlength > sizeof rr->rdata) |
232 |
rr->rdlength = sizeof rr->rdata; |
233 |
|
231 |
memcpy(rr->rdata, src, rr->rdlength); |
234 |
memcpy(rr->rdata, src, rr->rdlength); |
232 |
src += rr->rdlength; |
235 |
src += rr->rdlength; |
Lines 328-346
Link Here
|
328 |
{ |
331 |
{ |
329 |
int n, x; /* Offset in 'data' */ |
332 |
int n, x; /* Offset in 'data' */ |
330 |
for (n = 0; src < end && n < datalen; ) |
333 |
for (n = 0; src < end && n < datalen - 1; ) |
331 |
{ |
334 |
{ |
332 |
int len = *src++; |
335 |
int len = *src++; |
333 |
if (n) |
336 |
if (n) |
334 |
data[n++] = ' '; |
337 |
data[n++] = ' '; |
335 |
for (x = 0; x < len && src < end && n < datalen; x++) |
338 |
for (x = 0; x < len && src < end && n < datalen - 1; x++) |
336 |
data[n++] = *src++; |
339 |
data[n++] = *src++; |
337 |
if (one_word_only) |
340 |
if (one_word_only) |
338 |
{ |
341 |
break; |
339 |
data[n] = '\0'; |
|
|
340 |
return (src); |
341 |
} |
342 |
} |
342 |
} |
343 |
data[n] = '\0'; |
343 |
data[n] = '\0'; |
344 |
return (src); |
344 |
return (src); |