985d28cc: Facebook Infer Static Analyzer report #14311

issue practicalswift opened this issue on September 24, 2018
  1. practicalswift commented at 6:01 PM on September 24, 2018: contributor

    Facebook Infer Static Analyzer report

    Branch: master Commit: 985d28cc Issue count: 53 Excluded: nothing Analyzer: infer-linux64-v0.15.0.tar.xz (SHA-1: a00537dac367840c79c429d9fcea0d16bc0c7846)

    Disclaimer: These results have not been thoroughly confirmed, and may be improbable or flat out invalid, but it's worth having a list of these somewhere.

    Report summary:

    • 21 NULL_DEREFERENCE issues
    • 17 LOCK_CONSISTENCY_VIOLATION issues
    • 7 DEAD_STORE issues
    • 7 UNINITIALIZED_VALUE issues
    • 1 MEMORY_LEAK issue

    Reported issues:

     0. src/qt/splashscreen.cpp:39: error: DEAD_STORE
          The value written to &devicePixelRatio (type float) is never used.
    
     1. src/wallet/test/wallet_tests.cpp:40: error: NULL_DEREFERENCE
          pointer `oldTip` last assigned on line 39 could be null and is dereferenced at line 40, column 22.
    
     2. src/qt/paymentrequest.pb.cc:53: error: NULL_DEREFERENCE
          pointer `file` last assigned on line 49 could be null and is dereferenced at line 53, column 24.
    
     3. src/secp256k1/src/ecmult_impl.h:59: error: NULL_DEREFERENCE
          pointer `null` could be null and is dereferenced by call to `secp256k1_gej_double_var()` at line 59, column 5.
    
     4. src/secp256k1/src/secp256k1.c:60: error: NULL_DEREFERENCE
          pointer `ret` last assigned on line 59 could be null and is dereferenced at line 60, column 5.
    
     5. src/secp256k1/src/secp256k1.c:85: error: NULL_DEREFERENCE
          pointer `ret` last assigned on line 84 could be null and is dereferenced at line 85, column 5.
    
     6. src/test/blockfilter_tests.cpp:134: error: DEAD_STORE
          The value written to &pos (type unsigned int) is never used.
    
     7. src/serialize.h:131: error: UNINITIALIZED_VALUE
          The value read from tmp.y was never initialized.
    
     8. src/secp256k1/src/group_impl.h:137: error: NULL_DEREFERENCE
          pointer `az` last assigned on line 134 could be null and is dereferenced at line 137, column 13.
    
     9. src/serialize.h:137: error: UNINITIALIZED_VALUE
          The value read from tmp.y was never initialized.
    
    10. src/serialize.h:143: error: UNINITIALIZED_VALUE
          The value read from tmp.x was never initialized.
    
    11. src/leveldb/db/dumpfile.cc:166: error: NULL_DEREFERENCE
          pointer `table` last assigned on line 156 could be null and is dereferenced at line 166, column 20.
    
    12. src/serialize.h:149: error: UNINITIALIZED_VALUE
          The value read from tmp.x was never initialized.
    
    13. src/leveldb/db/c.cc:148: error: NULL_DEREFERENCE
          pointer `result` last assigned on line 147 could be null and is dereferenced by call to `memcpy()` at line 148, column 3.
    
    14. src/test/net_tests.cpp:187: error: DEAD_STORE
          The value written to &id (type long) is never used.
    
    15. src/qt/guiutil.cpp:204: error: DEAD_STORE
          The value written to &paramCount (type int) is never used.
    
    16. src/secp256k1/src/ecmult_impl.h:203: error: NULL_DEREFERENCE
          pointer `dst->pre_g` last assigned on line 202 could be null and is dereferenced by call to `memcpy()` at line 203, column 9.
    
    17. src/index/base.cpp:242: error: NULL_DEREFERENCE
          pointer `chain_tip` last assigned on line 240 could be null and is dereferenced at line 242, column 43.
    
    18. src/leveldb/util/cache.cc:276: error: NULL_DEREFERENCE
          pointer `e` last assigned on line 274 could be null and is dereferenced at line 276, column 3.
    
    19. src/secp256k1/src/ecmult_impl.h:371: error: NULL_DEREFERENCE
          pointer `null` could be null and is dereferenced by call to `secp256k1_gej_double_var()` at line 371, column 9.
    
    20. src/serialize.h:385: error: UNINITIALIZED_VALUE
          The value read from tmp[_] was never initialized.
    
    21. src/rpc/blockchain.cpp:690: error: NULL_DEREFERENCE
          pointer `pblockindex` last assigned on line 689 could be null and is dereferenced at line 690, column 12.
    
    22. src/policy/fees.cpp:829: error: DEAD_STORE
          The value written to &median (type double) is never used.
    
    23. src/net_processing.cpp:937: error: NULL_DEREFERENCE
          pointer `state` last assigned on line 934 could be null and is dereferenced at line 937, column 13.
    
    24. src/test/script_tests.cpp:999: error: DEAD_STORE
          The value written to &pos (type unsigned int) is never used.
    
    25. src/wallet/wallet.cpp:1206: error: NULL_DEREFERENCE
          pointer `initialChainTip` last assigned on line 1204 could be null and is dereferenced at line 1206, column 75.
    
    26. src/validation.cpp:1341: error: NULL_DEREFERENCE
          pointer `pindexPrev` last assigned on line 1340 could be null and is dereferenced at line 1341, column 12.
    
    27. src/net_processing.cpp:1376: error: NULL_DEREFERENCE
          pointer `nodestate` last assigned on line 1365 could be null and is dereferenced at line 1376, column 13.
    
    28. src/wallet/wallet.cpp:2944: error: UNINITIALIZED_VALUE
          The value read from nBytes was never initialized.
    
    29. src/wallet/wallet.cpp:2944: error: UNINITIALIZED_VALUE
          The value read from nFeeNeeded was never initialized.
    
    30. src/net_processing.cpp:2934: error: NULL_DEREFERENCE
          pointer `__range` last assigned on line 2934 could be null and is dereferenced at line 2934, column 41.
    
    31. src/net_processing.cpp:2938: error: NULL_DEREFERENCE
          pointer `state` last assigned on line 2931 could be null and is dereferenced at line 2938, column 5.
    
    32. src/net_processing.cpp:3089: error: NULL_DEREFERENCE
          pointer `state` last assigned on line 3086 could be null and is dereferenced at line 3089, column 10.
    
    33. src/net_processing.cpp:3173: error: NULL_DEREFERENCE
          pointer `state` last assigned on line 3172 could be null and is dereferenced at line 3173, column 87.
    
    34. src/validation.cpp:3944: error: MEMORY_LEAK
          `pindex` is not reachable after line 3944, column 5.
    
    35. src/validation.cpp:4362: error: DEAD_STORE
          The value written to &nRewind (type unsigned long) is never used.
    
    36. src/wallet/wallet.cpp:267: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_AddKeyPubKeyWithDB` reads without synchronization from `this.encrypted_batch`. Potentially races with write in method `AddKeyPubKeyWithDB`.
    
    37. src/wallet/wallet.cpp:1376: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_DeriveNewSeed` indirectly reads without synchronization from `pj.infinity`. Potentially races with write in method `DeriveNewSeed`.
    
    38. src/wallet/wallet.cpp:1377: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_DeriveNewSeed` indirectly reads without synchronization from `rr_alt.n.[_]`. Potentially races with write in method `DeriveNewSeed`.
    
    39. src/wallet/wallet.cpp:1377: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_DeriveNewSeed` indirectly reads without synchronization from `rr_alt.n.[_]`. Potentially races with write in method `CreateWalletFromFile`.
    
    40. src/wallet/wallet.cpp:1377: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_DeriveNewSeed` indirectly reads without synchronization from `rr_alt.n.[_]`. Potentially races with write in method `AddKeyPubKeyWithDB`.
    
    41. src/wallet/wallet.cpp:1376: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_DeriveNewSeed` indirectly reads without synchronization from `pj.infinity`. Potentially races with write in method `CreateWalletFromFile`.
    
    42. src/wallet/wallet.cpp:1376: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_DeriveNewSeed` indirectly reads without synchronization from `pj.infinity`. Potentially races with write in method `AddKeyPubKeyWithDB`.
    
    43. src/wallet/wallet.cpp:192: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_GenerateNewKey` indirectly reads without synchronization from `this.nWalletMaxVersion`. Potentially races with write in method `BlockDisconnected`.
    
    44. src/wallet/wallet.cpp:798: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_IncOrderPosNext` reads without synchronization from `this.nOrderPosNext`. Potentially races with write in method `BlockDisconnected`.
    
    45. src/wallet/wallet.cpp:323: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_LoadKeyMetadata` indirectly reads without synchronization from `this.nTimeFirstKey`. Potentially races with write in method `BlockDisconnected`.
    
    46. src/wallet/wallet.cpp:3199: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_LoadKeyPool` reads without synchronization from `this.m_max_keypool_index`. Potentially races with write in method `BlockDisconnected`.
    
    47. src/wallet/wallet.h:813: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_LoadMinVersion` reads without synchronization from `this.nWalletMaxVersion`. Potentially races with write in method `BlockDisconnected`.
    
    48. src/wallet/wallet.cpp:330: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_LoadScriptMetadata` indirectly reads without synchronization from `this.nTimeFirstKey`. Potentially races with write in method `BlockDisconnected`.
    
    49. src/wallet/wallet.cpp:938: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_LoadToWallet` reads without synchronization from container `this.mapWallet` via call to `find`. Potentially races with write in method `ZapSelectTx`.
    
    50. src/wallet/wallet.cpp:2463: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_SignTransaction` reads without synchronization from container `this.mapWallet` via call to `find`. Potentially races with write in method `ZapSelectTx`.
    
    51. src/wallet/wallet.cpp:350: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_UpdateTimeFirstKey` reads without synchronization from `this.nTimeFirstKey`. Potentially races with write in method `BlockDisconnected`.
    
    52. src/wallet/wallet.cpp:350: error: LOCK_CONSISTENCY_VIOLATION
          Read/Write race. Non-private method `CWallet_UpdateTimeFirstKey` reads without synchronization from `this.nTimeFirstKey`. Potentially races with write in method `RescanFromTime`.
    
  2. practicalswift commented at 9:21 PM on September 24, 2018: contributor

    Regarding the wallet lock consistency violations – see related PR #11634.

  3. practicalswift closed this on Jan 10, 2019

  4. DrahtBot locked this on Dec 16, 2021
Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-16 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me