Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-928

calling map_destination for 'undefined' address causes segfault

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.0
    • 1.1.0
    • None
    • None

    Description

      If qdr_map_destination_CT is called for an address that has not been defined on a router that has the default distribution set to 'undefined', qdr_address_CT (line 578 at present) returns null. However there is no check for this and the address is used to get a hash_handle which causes a segfault.

      Under valgrind you see:

      ==10232== Invalid write of size 8
      ==10232==    at 0x4E67501: qd_hash_internal_insert (hash.c:156)
      ==10232==    by 0x4E6756B: qd_hash_insert (hash.c:168)
      ==10232==    by 0x4E91644: qdr_map_destination_CT (route_tables.c:579)
      ==10232==    by 0x4E8F80D: router_core_thread (router_core_thread.c:83)
      ==10232==    by 0x550F739: start_thread (in /usr/lib64/libpthread-2.24.so)
      ==10232==    by 0x607AE7E: clone (in /usr/lib64/libc-2.24.so)
      ==10232==  Address 0x98 is not stack'd, malloc'd or (recently) free'd
      

      Attachments

        Activity

          People

            gmurthy Ganesh Murthy
            gsim Gordon Sim
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: