Merge #10957: Avoid returning a BIP9Stats object with uninitialized values
commita46a671e253528e450bd57645c400bf761da07ab
authorMarcoFalke <falke.marco@gmail.com>
Wed, 16 Aug 2017 00:45:09 +0000 (16 02:45 +0200)
committerMarcoFalke <falke.marco@gmail.com>
Wed, 16 Aug 2017 00:45:19 +0000 (16 02:45 +0200)
tree35c12bcb266f4f2f966d59fe5d746508cb2c9452
parent655970d9c60ae6850daf452457e14e21047c0e1b
parent3eb53b867153c957529484b5338d27e69de027c1
Merge #10957: Avoid returning a BIP9Stats object with uninitialized values

3eb53b867 Avoid returning a BIP9Stats object with uninitialized values (practicalswift)

Pull request description:

  Uninitialized data potentially used in `rpc/blockchain.cpp`:

  ```
  static UniValue BIP9SoftForkDesc(const Consensus::Params& consensusParams, Consensus::DeploymentPos id)
  {
      ...
      const ThresholdState thresholdState = VersionBitsTipState(consensusParams, id);
      ...
      if (THRESHOLD_STARTED == thresholdState)
      {
          UniValue statsUV(UniValue::VOBJ);
          BIP9Stats statsStruct = VersionBitsTipStatistics(consensusParams, id);
          statsUV.push_back(Pair("period", statsStruct.period));
          statsUV.push_back(Pair("threshold", statsStruct.threshold));
          statsUV.push_back(Pair("elapsed", statsStruct.elapsed));
          statsUV.push_back(Pair("count", statsStruct.count));
          statsUV.push_back(Pair("possible", statsStruct.possible));
          rv.push_back(Pair("statistics", statsUV));
      }
      ...
      return rv;
  }
  ```

  Friendly ping @pinheadmz :-)

Tree-SHA512: cc1debe11d81157b9fa8e6064bfec199524cd1e2d0230ff35f45d97ecabbc664df8423edb1c9e4ba3daf19bbd51ab87bb50e5e5cd279be1d2aa1f7d8b300f148
src/versionbits.cpp