title: swig/python detected a memory leak of type 'uint32_t *', no destructor found
body: <p>When I edit or print a field in structure I get the mentioned error about memory leak, but if I work with simple variable like xx below there is no memory leak.
  Why is that ?</p>
  
  <p>file rc_test.py:</p>
  
  <pre><code>   import sys
      import verbs_utils
      import logging
      logger = logging.basicConfig(level=logging.DEBUG)
  
      class rc_pingpong():
          def __init__(self, link_partner_hostname=None):
              self.attr = verbs_utils.ibv_qp_attr()
              self.init_to_rts()
  
          def init_to_rts(self):
              self.attr = verbs_utils.ibv_qp_attr()
              logging.debug("&lt;DEBUG: init_to_rts&gt;, self.attr = {}".format(self.attr))
              logging.debug("&lt;DEBUG: init_to_rts&gt;, self.attr.path_mtu = {}".format(self.attr.path_mtu))
              logging.debug("&lt;DEBUG: init_to_rts&gt;, self.attr.min_rnr_timer = {}".format(self.attr.min_rnr_timer))
              logging.debug("&lt;DEBUG: init_to_rts&gt;, self.attr.qp_state = {}".format(self.attr.qp_state))
              logging.debug("&lt;DEBUG: init_to_rts&gt;, self.attr.port_num = {}".format(self.attr.port_num))
  
              xx = self.attr.dest_qp_num
              verbs_utils.set_intp_val(xx , 7)
              verbs_utils.print_intp_val(xx)
              self.attr.dest_qp_num = xx
              #logging.debug("&lt;DEBUG: init_to_rts&gt;, +++++++++ self.attr.dest_qp_num = {}".format(self.attr.dest_qp_num))
              verbs_utils.print_intp_val(self.attr.dest_qp_num)
              verbs_utils.print_intp_val(self.attr.dest_qp_num)
  </code></pre>
  
  <p>file: verbs_utils.c</p>
  
  <pre><code>    struct ibv_qp_attr {
          uint32_t        qkey;
          uint32_t        rq_psn;
          uint32_t        sq_psn;
          uint32_t        dest_qp_num;
      };
  
     void set_intp_val(uint32_t* p, int val)
      {
          *p = val;
          printf("----------------------------------------------\n");
          printf("&lt;DEBUG : xxxxxxset_intp_val&gt;, p = %d\n", p);
          printf("&lt;DEBUG : xxxxxxset_intp_val&gt;, val = %d\n", val);
          printf("&lt;DEBUG : xxxxxxset_intp_val&gt;, *p = %d\n", *p);
          printf("----------------------------------------------\n");
      }
      void print_intp_val(uint32_t* p)
      {
          printf("----------------------------------------------\n");
          printf("&lt;DEBUG : xxxxxxset_intp_val&gt;, *p = %d\n", *p);
          printf("&lt;DEBUG : xxxxxxset_intp_val&gt;, p = %d\n", p);
          printf("----------------------------------------------\n");
      }
  </code></pre>
  
  <p>output:</p>
  
  <pre><code>----------------------------------------------
  &lt;DEBUG : xxxxxxset_intp_val&gt;, p = 8431360
  &lt;DEBUG : xxxxxxset_intp_val&gt;, val = 7
  &lt;DEBUG : xxxxxxset_intp_val&gt;, *p = 7
  ----------------------------------------------
  ----------------------------------------------
  &lt;DEBUG : xxxxxxset_intp_val&gt;, *p = 7
  &lt;DEBUG : xxxxxxset_intp_val&gt;, p = 8431360
  ----------------------------------------------
  ----------------------------------------------
  &lt;DEBUG : xxxxxxset_intp_val&gt;, *p = 7
  &lt;DEBUG : xxxxxxset_intp_val&gt;, p = 8967344
  ----------------------------------------------
  swig/python detected a memory leak of type 'uint32_t *', no destructor found.
  ----------------------------------------------
  &lt;DEBUG : xxxxxxset_intp_val&gt;, *p = 7
  &lt;DEBUG : xxxxxxset_intp_val&gt;, p = 9753776
  ----------------------------------------------
  swig/python detected a memory leak of type 'uint32_t *', no destructor found.
  </code></pre>