From 77f12f25fbc435630965160c9e8da6533475a1d1 Mon Sep 17 00:00:00 2001
From: Lubos Slovak <lubos.slovak@nic.cz>
Date: Mon, 1 Aug 2011 12:23:49 +0200
Subject: [PATCH] Fixed dname table copying.

- Was not increasing reference count.

refs #993
---
 src/dnslib/dname-table.c | 1 +
 src/dnslib/dname.h       | 4 +---
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/dnslib/dname-table.c b/src/dnslib/dname-table.c
index 5337b8377..0ff42e50d 100644
--- a/src/dnslib/dname-table.c
+++ b/src/dnslib/dname-table.c
@@ -81,6 +81,7 @@ static int dnslib_dname_table_copy_node(const struct dname_table_node *from,
 	}
 
 	(*to)->dname = from->dname;
+	dnslib_dname_retain((*to)->dname);
 	(*to)->avl.avl_height = from->avl.avl_height;
 
 	int ret = dnslib_dname_table_copy_node(from->avl.avl_left,
diff --git a/src/dnslib/dname.h b/src/dnslib/dname.h
index 03e9f59f1..c96b943f9 100644
--- a/src/dnslib/dname.h
+++ b/src/dnslib/dname.h
@@ -134,7 +134,7 @@ int dnslib_dname_from_wire(const uint8_t *name, unsigned int size,
                            struct dnslib_node *node, dnslib_dname_t *target);
 
 /*!
- * \brief Copies the given domain name.
+ * \brief Duplicates the given domain name.
  *
  * \note Copied dname referense count is reset to 1, caller is responsible
  *       for releasing it after use.
@@ -142,8 +142,6 @@ int dnslib_dname_from_wire(const uint8_t *name, unsigned int size,
  * \param dname Domain name to be copied.
  *
  * \return New domain name which is an exact copy of \a dname.
- *
- * \todo Deep/shallow copying.
  */
 dnslib_dname_t *dnslib_dname_copy(const dnslib_dname_t *dname);
 
-- 
GitLab