summaryrefslogtreecommitdiffstats
path: root/source/libaddns
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-04-30 02:39:34 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:19:49 -0500
commit8968808c3b5b0208cbad9ac92eaf948f2c546dd9 (patch)
tree26d539cf26e3ca30d5ead10c6b9257134783024a /source/libaddns
parent8ad13718af0ba1fcb10a6f1631b1ed3cb8d11175 (diff)
downloadsamba-8968808c3b5b0208cbad9ac92eaf948f2c546dd9.tar.gz
samba-8968808c3b5b0208cbad9ac92eaf948f2c546dd9.tar.xz
samba-8968808c3b5b0208cbad9ac92eaf948f2c546dd9.zip
r22589: Make TALLOC_ARRAY consistent across all uses.
Jeremy.
Diffstat (limited to 'source/libaddns')
-rw-r--r--source/libaddns/dnsrecord.c10
-rw-r--r--source/libaddns/dnssock.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/source/libaddns/dnsrecord.c b/source/libaddns/dnsrecord.c
index 37a5886af70..c649dbd7de4 100644
--- a/source/libaddns/dnsrecord.c
+++ b/source/libaddns/dnsrecord.c
@@ -234,9 +234,13 @@ DNS_ERROR dns_unmarshall_tkey_record(TALLOC_CTX *mem_ctx, struct dns_rrec *rec,
if (!ERR_DNS_IS_OK(buf.error)) goto error;
- if (!(tkey->key = TALLOC_ARRAY(tkey, uint8, tkey->key_length))) {
- buf.error = ERROR_DNS_NO_MEMORY;
- goto error;
+ if (tkey->key_length) {
+ if (!(tkey->key = TALLOC_ARRAY(tkey, uint8, tkey->key_length))) {
+ buf.error = ERROR_DNS_NO_MEMORY;
+ goto error;
+ }
+ } else {
+ tkey->key = NULL;
}
dns_unmarshall_buffer(&buf, tkey->key, tkey->key_length);
diff --git a/source/libaddns/dnssock.c b/source/libaddns/dnssock.c
index 5dbedc4fd51..6ceefb4e32d 100644
--- a/source/libaddns/dnssock.c
+++ b/source/libaddns/dnssock.c
@@ -264,9 +264,13 @@ static DNS_ERROR dns_receive_tcp(TALLOC_CTX *mem_ctx,
buf->size = ntohs(len);
- if (!(buf->data = TALLOC_ARRAY(buf, uint8, buf->size))) {
- TALLOC_FREE(buf);
- return ERROR_DNS_NO_MEMORY;
+ if (buf->size) {
+ if (!(buf->data = TALLOC_ARRAY(buf, uint8, buf->size))) {
+ TALLOC_FREE(buf);
+ return ERROR_DNS_NO_MEMORY;
+ }
+ } else {
+ buf->data = NULL;
}
err = read_all(conn->s, buf->data, buf->size);