From c93b1d78575da62eea22e5df033a01be43c7e718 Mon Sep 17 00:00:00 2001
From: Lubos Slovak <lubos.slovak@nic.cz>
Date: Mon, 26 May 2014 13:27:45 +0200
Subject: [PATCH] EDNS: Fixed option adding + fixed unittests

---
 src/libknot/edns.c | 9 ++++-----
 tests/edns.c       | 2 +-
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/libknot/edns.c b/src/libknot/edns.c
index adad30b498..ebf2140d78 100644
--- a/src/libknot/edns.c
+++ b/src/libknot/edns.c
@@ -43,7 +43,7 @@ int knot_edns_init(knot_rrset_t *opt_rr, uint16_t max_pld,
 		return KNOT_EINVAL;
 	}
 
-	/* Initialiye RRSet. */
+	/* Initialize RRSet. */
 	knot_dname_t *owner = knot_dname_copy((const uint8_t*)"", mm);
 	if (owner == NULL) {
 		return KNOT_ENOMEM;
@@ -245,11 +245,10 @@ int knot_edns_add_option(knot_rrset_t *opt_rr, uint16_t code,
 	memcpy(new_data + old_data_len + KNOT_EDNS_OPTION_HDRLEN, data, length);
 
 	/* 2) Replace the RDATA in the RRSet. */
+	uint32_t old_ttl = knot_rdata_ttl(old_rdata);
 	knot_rdataset_clear(&opt_rr->rrs, mm);
-	knot_rrset_add_rdata(opt_rr, new_data, new_data_len,
-	                     knot_rdata_ttl(old_rdata), mm);
-
-	return KNOT_EOK;
+	return knot_rrset_add_rdata(opt_rr, new_data, new_data_len,
+	                            old_ttl, mm);
 }
 
 /*----------------------------------------------------------------------------*/
diff --git a/tests/edns.c b/tests/edns.c
index 1616a76bab..094acf5297 100644
--- a/tests/edns.c
+++ b/tests/edns.c
@@ -336,7 +336,7 @@ static bool test_setters(knot_rrset_t *opt_rr, int *done)
 #define TEST_COUNT 38
 
 static inline int remaining(int done) {
-	return TEST_COUNT - done - 1;
+	return TEST_COUNT - done;
 }
 
 int main(int argc, char *argv[])
-- 
GitLab