Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-1677

Misuse of INET_ADDRSTRLEN

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 3.5.0
    • 3.7.0, 3.6.1, 3.5.8
    • None
    • None

    Description

      ZOOKEEPER-1355. Add zk.updateServerList(newServerList) (Alex Shraer, Marshall McMullen via fpj)

      git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1410731 13f79535-47bb-0310-9956-ffa450edef68

      +int addrvec_contains(const addrvec_t *avec, const struct sockaddr_storage *addr)
      +{
      + if (!avec || !addr)
      +

      { + return 0; + }

      +
      + int i = 0;
      + for (i = 0; i < avec->count; i++)
      +

      { + if(memcmp(&avec->data[i], addr, INET_ADDRSTRLEN) == 0) + return 1; + }

      +
      + return 0;
      +}

      Pretty sure that should be sizeof(sockaddr_storage). INET_ADDRSTRLEN is the size of the character buffer which needs to be allocated for the return value of inet_ntop, which seems to be totally wrong.

      Attachments

        1. ZOOKEEPER-1677.patch
          1 kB
          Marshall McMullen
        2. ZOOKEEPER-1677.patch
          1 kB
          Marshall McMullen
        3. ZOOKEEPER-1677.patch
          1 kB
          Marshall McMullen
        4. ZOOKEEPER-1677.patch
          1 kB
          Camille Fournier
        5. ZOOKEEPER-1677.patch
          4 kB
          Michi Mutsuzaki
        6. ZOOKEEPER-1677.patch
          4 kB
          Michi Mutsuzaki
        7. ZOOKEEPER-1677.patch
          5 kB
          Michi Mutsuzaki
        8. ZOOKEEPER-1677.patch
          5 kB
          Michi Mutsuzaki
        9. ZOOKEEPER-1677.patch
          6 kB
          Michi Mutsuzaki

        Issue Links

          Activity

            People

              Unassigned Unassigned
              arren Shevek
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: