]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
* Fix memory leak in contrib/python: ldns_pkt.new_query.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 8 Aug 2013 12:36:05 +0000 (14:36 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 8 Aug 2013 12:36:05 +0000 (14:36 +0200)
Changelog
contrib/python/ldns_packet.i

index b07a489cba696edd9b7a8baa2346205a9ed2eef7..94db4c3461c3f50dae47a63e3f72fc97ebc86732 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -30,6 +30,7 @@
          dictionary.  Patch from shussain.
        * bugfix #517: ldns_resolver_new_frm_fp error when invoked using a NULL
          file pointer.
+       * Fix memory leak in contrib/python: ldns_pkt.new_query.
 
 1.6.16 2012-11-13
        * Fix Makefile to build pyldns with BSD make
index 9316479f13b3a0393a79a6f8e25e8c4f044d26eb..03f77c0c0be1dcb6d640314cb6f80060c85a8891 100644 (file)
@@ -109,6 +109,18 @@ ldns_rr_list* _ldns_pkt_question(ldns_pkt* p) {
 
 /* clone data when pushed in */
 
+%newobject _ldns_pkt_query_new;
+%rename (__ldns_pkt_query_new) ldns_pkt_query_new;
+%inline
+%{
+  ldns_pkt * _ldns_pkt_query_new(ldns_rdf *rr_name, ldns_rr_type rr_type,
+      ldns_rr_class rr_class, uint16_t flags)
+  {
+    return ldns_pkt_query_new(ldns_rdf_clone(rr_name), rr_type, rr_class,
+             flags);
+  }
+%}
+
 %rename(__ldns_pkt_push_rr) ldns_pkt_push_rr;
 %inline %{
 bool _ldns_pkt_push_rr(ldns_pkt* p, ldns_pkt_section sec, ldns_rr *rr) {
@@ -170,7 +182,7 @@ This simple example instances a resolver in order to resolve NS for nic.cz.
                :param flags: packet flags
                :returns: new ldns_pkt object
             """
-            return _ldns.ldns_pkt_query_new(rr_name, rr_type, rr_class, flags)
+            return _ldns._ldns_pkt_query_new(rr_name, rr_type, rr_class, flags)
 
         @staticmethod
         def new_query_frm_str(rr_name, rr_type, rr_class, flags, raiseException = True):