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

c sdk: core in log_env for lack of checking the output argument *pwp* of getpwuid_r

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.4.3, 3.3.5
    • Fix Version/s: 3.5.0
    • Component/s: c client
    • Labels:
    • Environment:

      linux

    • Hadoop Flags:
      Reviewed
    • Tags:
      sdk

      Description

      Man of getpwuid_r "return a pointer to a passwd structure, or NULL if the matching entry is not found or an error occurs",
      "The getpwnam_r() and getpwuid_r() functions return zero on success.", it means entry may not be found when getpwuid_r success.

      In log_env of zookeeper.c in c sdk:
      if (!getpwuid_r(uid, &pw, buf, sizeof(buf), &pwp)) {
      LOG_INFO(("Client environment:user.home=%s", pw.pw_dir));
      }
      pwp is not checked to ensure entry is found, pw.pw_dir is not initialized in this case, core happens in LOG_INFO.

        Attachments

          Activity

            People

            • Assignee:
              yin.yubing@gmail.com Yubing Yin
              Reporter:
              yin.yubing@gmail.com Yubing Yin
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified