Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
This commit simply adds a new person's PGP public-key fingerprint to the list of trusted release signers in two documentation files. It does not change any code, fix any bug, or alter any security behavior of the software itself.
This is a tiny internal fix to make a bookkeeping migration produce stable event ordering. It changes the timestamp used when creating historical 'deposit' records during a one-time database migration, so the records sort consistently with…
This commit is a documentation-only cleanup of the JSON-RPC command help files. It corrects which numeric error codes are listed for each command so the published schemas match what the software actually returns. No program logic, validati…
Documentation-only change with no executable code modificationsCorrects RPC schema error-code metadata to match actual handler behaviorNo change to input parsing, authorization, cryptography, or network behavior
This commit fixes a bug where a setting that controls whether unexpected transaction signatures are allowed was not initialized when the channel daemon starts. If a peer sent such signatures before the channel was fully ready, the program …
use of uninitialized variableundefined behavior (invalid bool load)network-triggered code path
This commit fixes the project's internal nightly code-coverage CI workflow. It changes how test coverage files are collected, ensures the same LLVM compiler version is used to generate and merge coverage data, and uploads a Codecov-compati…
This commit is a large cleanup of Core Lightning's API schemas, generated RPC bindings, and related plugin code. The stated goal is to make the documented 'required' fields match what the C code actually always produces or expects. In prac…
Large schema-only change with no accompanying security advisory or CVEOne semantic change to plugin hook response: invoice_payment hook can now reject with only failure_message and no resultMany fields change from optional to required in public RPC/protobuf interfaces
This commit only updates documentation. It adds error code 313 to the documented error lists for several Core Lightning commands (fundpsbt, utxopsbt, txprepare, multiwithdraw, and upgradewallet). The error code already existed in the code …
This commit fixes a release-script check that verifies the cryptographic signature on a file of checksums. Previously, the script only told GPG to verify the signature file itself. If someone replaced that signature file with an inline-sig…
Incorrect cryptographic verification logic in release toolingPotential false-positive signature verification with inline-signed .asc substitutionRelease-integrity hardening
This commit updates Core Lightning's release documentation to tell users and release managers to run gpg --verify with both the signature file and the manifest file named explicitly. The old one-argument form can silently succeed even if t…
Verification bypass risk in release artifact validationgpg --verify single-argument form can exit 0 without reading the intended manifestDocumentation-only hardening of release process
This commit is a routine update to the Rust dependency lock file (Cargo.lock), bumping many third-party libraries to newer patch or minor versions. The commit message gives no security reason for the update, and no verified references link…
Routine dependency refresh with no stated security rationaleUpdates to security-sensitive transitive crates (rustls, hyper, h2, tokio, webpki-roots) but no evidence these versions fix known vulnerabilitiesNo source-code changes or patch-specific fixes visible in the diff
This commit fixes a stack-overflow risk in Core Lightning's JSON parser. Before the fix, an attacker could send a valid JSON-RPC message containing thousands of nested brackets or braces. The parser's own helper functions used recursion fo…
Stack-overflow via deeply nested JSONRecursive JSON traversal without depth boundDenial-of-service vector in JSON-RPC input parsing
This commit only fixes typos and comment style. It changes two C-style comments from // to /* */ and corrects a grammar error in a documentation comment ('element' to 'elements'). There are no code behavior changes, no bug fixes, and no se…
This change fixes a test-infrastructure bug in Core Lightning's Python testing helpers. When running tests against a PostgreSQL database, very long test names could be silently shortened by PostgreSQL, causing different test runs or nodes …
No security-relevant signal: change is in test framework code onlyFixes a test reliability issue, not a runtime vulnerabilityNo input sanitization, authentication, cryptography, or network changes
This fix prevents Core Lightning from trying to use freshly created bitcoins (immature coinbase rewards) as emergency funds for fee-bump transactions. Such a transaction would be invalid under Bitcoin's rules and would be rejected by the n…
This commit fixes a bug in Core Lightning's askrene plugin that could prevent a node from restarting. When a saved routing layer contained a node bias with a description, the plugin accidentally freed the description's memory while using i…
Use-after-free / double-take of a tal-allocated string during plugin startupDenial-of-service-like symptom: lightningd aborts before replying to init, node cannot restartFixes publicly reported issue #9433 by endothermicdev
This commit only fixes a test case so it actually exercises the intended code path. It does not change any production code, so it cannot introduce or fix a real-world security vulnerability by itself. The test change is a reproducer for a …
This commit fixes a bug in Core Lightning's experimental dual-funded channel feature. When another node tried to open a channel, Core Lightning was not checking whether the proposed transaction fees were reasonable. A peer could request a …
Missing input validation on wire-parsed feerate fieldsPeer could induce signing and storage of feerate == 0RBF remote path allowed unbounded upward feerate walks
This commit adds regression tests for three related bugs where wildly wrong Bitcoin transaction feerates could enter Core Lightning. In the worst case, a malicious or broken fee source could make the node think a feerate was zero (due to a…
Integer overflow in feerate conversion (u32 wrap from 0xFFFFFFFF perkb to 0 perkw)Absurd feerate from external fee source bypassing sanity ceilingDatabase-stored out-of-range feerate causing startup abort/crash loop
This update fixes a crash bug in Core Lightning. When the software tried to list details of a channel opening in progress, it could crash if a stored fee rate was extremely large or zero. The crash happened because the code used an interna…
Integer overflow in RBF escalation (u32 * 25 / 24) leading to assertion failureAssertion failure in read-only introspection RPC (listpeerchannels) causing crash-loop at startupDatabase value treated as invariant despite originating from external fee estimator
This commit fixes a bug where Core Lightning nodes could get stuck in a crash loop. If a node had previously stored an extremely high or zero fee rate for an in-progress channel funding operation (a 'splice' or dual-funded channel RBF), a …
Integer overflow in fee-rate calculation (u32 overflow when multiplying by 25/24)Assertion failure leading to daemon crash loop at startupDatabase migration clamps out-of-range stored funding feerates
fuzz-tests: Add coverage-increasing inputs to seed corpora
Change in the fuzzing scheme of `fuzz-close_tx` led to the discovery of test inputs that result in greater in code coverage. Add these inputs to the test's seed corpus.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds 41 new binary test files to a fuzz-testing seed corpus. Fuzzing seeds are like practice questions used to exercise code during automated testing; they are not part of the live Lightning node software and cannot directly affect real users or funds. There is no code change, no bug fix, and no security patch in this commit.
fuzz-tests: fix overflow of u32 in `fuzz-close-tx`
Changelog-None: The value WALLY_SATOSHI_PER_BTC * WALLY_BTC_MAX is equal to 2.1e15, which is much higher than the maximum capacity of a u32, which is 4.29e9.
Hence, use a u64 to store this value instead.
88/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Names security-relevant behavior explicitly
Why it was queued
memory safetyfuzzing or regression evidence
AI analysis · Informational 18/100
This commit fixes a variable type bug in a fuzz test, not in the main Core Lightning software. A fuzz test is an automated testing tool that feeds random data to a program to find crashes. The bug was that a calculation used a 32-bit integer (u32) to hold a value far larger than it can represent, causing an overflow. The fix changes the variable type to a 64-bit integer (u64). Because this is only in a test file, it does not directly affect real Lightning nodes or user funds.
fuzz-tests: Add coverage increasing inputs to seed corpora
Improvements in the fuzz-testing scheme of `fuzz-channel_id led to the discovery of test inputs that result in greater in code coverage. Add these inputs to the test's seed corpus.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds new test input files to a fuzz-testing seed corpus. Fuzz testing is an automated quality-assurance technique that feeds random or unusual inputs to a program to find bugs. These added files are not part of the live Core Lightning software that users run, so the commit does not change any production code or fix any security issue. It is purely a testing-data update.
Replace instances of 36 with sizeof(outpoint) and 32 with sizeof(chan_id) since that's what they represent. This makes the test more future-proof.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit only cleans up a fuzz test file by replacing hard-coded numbers (36 and 32) with size-of expressions. It does not change any runtime behavior or fix a security bug.
Lower-priorityfuzz-tests: Make the `channel_id` wire test roundtripby Chandra Pratap · bc57dc9b · Sep 15, 2025 · 1 fileMessage 95 · StrongInformational 12Details
Commit message · Chandra Pratap
fuzz-tests: Make the `channel_id` wire test roundtrip
Changelog-None: `memcmp()` the output of `towire_channel_id()` and the input to `fromwire_channel_id()` to ensure that wire encoding-decoding is correctly performed.
95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 12/100
This commit adds a consistency check inside a fuzz test for channel ID encoding and decoding. It does not change production code, fix a vulnerability, or alter any runtime behavior of the Lightning node. The change only strengthens a test to verify that converting a channel ID to wire format and back produces the original bytes.
fuzz-tests: Remove unnecessary #includes in the BOLT #11 test
The fuzz target for BOLT #11 has some unnecessary #includes. Get rid of them.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit simply removes unused header file imports from a fuzz testing file. It does not change any running code, fix a bug, or alter behavior. There is no security relevance.
fuzz-tests: Add coverage-increasing inputs to seed corpora
Change in the fuzzing scheme of `fuzz-bolt11` led to the discovery of test inputs that result in greater in code coverage. Add these inputs to the test's seed corpus.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds new test input files (seed corpus) for an existing fuzz test that exercises BOLT11 invoice parsing. It does not change any production code, configuration, or behavior of the Core Lightning node. The added files are malformed or unusual invoice strings intended to improve test coverage. There is no indication this commit fixes or introduces a security issue.
Changelog-None: Since `bolt11_decode()` defined in `common/bolt11.c` is untested by the current BOLT #11 fuzz test, add a test for it.
86/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 14/100
This commit adds a new software test (a fuzz test) that exercises an existing invoice encoding function called bolt11_encode(). It does not change any production code, fix a bug, or alter how the software handles user data. It only adds test coverage.
The FUZZ_COMMON_OBJS list roughly follows lexicographic order. Make it adhere strictly to the order. This makes adding and reviewing changes to the file easier.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit simply reorders a list of file names in a Makefile so they are in strict alphabetical order. It does not change any code, fix any bug, or alter how the software behaves. There is no security relevance.
AI review queuedfuzz-tests: Add a seed corpus for the new testby Chandra Pratap · fc549b3b · Sep 15, 2025 · 140 filesMessage 78 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz-tests: Add a seed corpus for the new test
Add a minimal input set as a seed corpus for the newly introduced test. This leads to discovery of interesting code paths faster.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds test data files (a fuzzing seed corpus) for a new fuzz test. It does not change any production code, configuration, or runtime behavior, so it has no direct security impact on users of Core Lightning.
Lower-priorityfuzz-tests: add a test for handle_peer_error_or_warning()by Chandra Pratap · 69a604fc · Sep 15, 2025 · 2 filesMessage 91 · StrongInformational 12Details
Commit message · Chandra Pratap
fuzz-tests: add a test for handle_peer_error_or_warning()
Changelog-None: `handle_peer_error_or_warning()` in `common/read_peer_message.{c, h}` is responsible for parsing any incoming `error` or `warning` messages as defined in BOLT #1.
Add a test for it.
91/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 12/100
This commit only adds a new automated fuzz test for a message-handling function. It does not change the actual network or message-handling code, so it cannot introduce a security vulnerability by itself. It is a testing improvement.
fuzz-tests: Add a roundtrip check for `bigsize_put()`
Add a roundtrip check for `bigsize_put()` using `bigsize_get()`. This enforces a stricter check for the former and adds a test for the latter, which is currently untested.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit only adds an extra self-check to an existing software test. It makes the test verify that encoding a number and then decoding it gives back the same number. There is no change to the actual program code that users run, and nothing in the commit suggests a security problem was found or fixed.
fuzz-tests: Replace hardcoded chunk size with iteration over sizes
Changelog-None: The exisiting fuzz test only extracts chunks of a fixed size (8) from the fuzzer's input. Replace this with an iteration over a set of chunk sizes (1 to BIGSIZE_MAX_LEN) for better coverage.
While at it, get rid of the check `if (bs != 0)` because 0 is a valid value for bigsize_t as well.
95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit only changes a fuzz test file. Fuzz tests are automated tools used to find bugs by feeding random data into functions. The change makes the test try more input chunk sizes and removes a special-case skip for zero values. There is no change to the actual production code that handles real network data or funds, so this commit does not introduce or fix a security vulnerability in the running software.
fuzz-tests: Add coverage-increasing inputs to seed corpora
Improvements in the fuzz-testing scheme of fuzz-bigsize led to the discovery of test inputs that result in greater in code-coverage. Add these inputs to the test's seed corpus.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds and removes test input files used by an automated fuzz-testing harness for a bigsize parser. It is purely a test-data update and does not change any production code, configuration, or behavior of the Core Lightning node software.
common/amount: prevent scaling with invalid factors in amount scale functions
Changelog-Fixed: Add checks in `amount_msat_scale` and `amount_sat_scale` to return false when the scaling factor is -NaN or negative.
This is important as the scaling factor may come from external sources like wire, which can cause runtime errors if not handled properly.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Moderate 51/100
This commit adds safety checks to two internal functions that multiply cryptocurrency amounts by a scaling factor. Previously, if the scaling factor was a malformed 'not-a-number' value or a negative number, the function could produce undefined or nonsensical results. Now the functions reject those inputs outright. The commit message says the factor can come from network data, so this is a hardening fix against bad or malicious input.
Changelog-None: Currently, fuzz-addr only tests encoding via encode_scriptpubkey_to_addr(), without checking decoding. Add a round‑trip assertion: if encoding produces an address, decode it back with decode_scriptpubkey_from_addr() and confirm the result matches the original scriptpubkey.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit adds a new check inside an existing automated test (a fuzz test) for Core Lightning. It makes sure that when the software converts a Bitcoin script into a human-readable address and then converts that address back, the result matches the original script. It does not change any production code, user-facing behavior, or network handling. It is purely a stronger test case.
fuzz-tests: Add coverage-increasing inputs to seed corpora
Change in the fuzz-testing scheme of fuzz-addr led to the discovery of test inputs that result in greater in code coverage. Add these inputs to the test's seed corpus.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds new test input files to a fuzz-testing seed corpus. It does not change any production code, configuration, or documentation. There is no indication of a security fix or vulnerability being addressed.
AI review queuedfuzz-tests: Add a seed corpus for the new testby Chandra Pratap · c7052b7d · Sep 15, 2025 · 193 filesMessage 78 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz-tests: Add a seed corpus for the new test
Add a minimal input set as a seed corpus for the newly introduced test. This leads to discovery of interesting code paths faster.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds test data files (a seed corpus) for a fuzzing test. Fuzzing is an automated testing technique that feeds random or crafted inputs to a program to find bugs. These files are not part of the production Core Lightning software that users run, so they cannot directly cause a security issue in a live node. There is no indication in the commit that any vulnerability was found or fixed.
Changelog-None: 'closing_signed' and 'closing_sig' are channel closing negotiation messages defined in BOLT #2.
While 'closing_signed' has a wire fuzz test, 'closing_sig' does not. Add a test to perform a round-trip encoding check (towire -> fromwire) similar to the other wire fuzzers.
86/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit adds a new automated fuzz test for a Lightning network channel-closing message called 'closing_sig'. It only adds test code and does not change any production code, so it cannot introduce a runtime security vulnerability by itself. It is a defensive testing improvement.
Changelog-None: 'closing_signed' and 'closing_complete' are channel closing negotiation messages defined in BOLT #2.
While 'closing_signed' has a wire fuzz test, 'closing_complete' does not. Add a test to perform a round-trip encoding check (towire -> fromwire) similar to the other wire fuzzers.
86/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100
This commit adds a new automated fuzz test for a Lightning network channel-closing message called 'closing_complete'. It does not change any production code, network behavior, or security logic. It only adds a test file that checks whether the message can be encoded and decoded correctly.
AI review queuedfuzz-tests: Add a seed corpus for the new testby Chandra Pratap · 59ccced1 · Sep 15, 2025 · 196 filesMessage 78 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz-tests: Add a seed corpus for the new test
Add a minimal input set as a seed corpus for the newly introduced test. This leads to discovery of interesting code paths faster.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: unusually broad change
AI analysis · Informational 15/100
This commit only adds test data files (a fuzzing seed corpus) for a new fuzz test named fuzz-wire-closing_complete. It does not change any production code, configuration, or runtime behavior. There is no indication of a security fix or vulnerability being addressed.
AI review queuedtests: do not leak file descriptorsby Matt Whitlock · 4d47cc68 · Sep 15, 2025 · 10 filesMessage 55 · ThinInformational 19Details
Commit message · Matt Whitlock
tests: do not leak file descriptors
Changelog-None
55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100
This commit fixes file descriptor leaks in the project's test suite. It replaces patterns like open(...).read() with context managers or helper methods that automatically close files. These changes only affect test code and test infrastructure, not the actual Core Lightning node software that users run. The leak could cause tests to run out of file handles during long test runs, but it is not a security vulnerability in production software.
Lower-prioritypyln-testing: close 'config.vars' after readingby Matt Whitlock · abcb976e · Sep 15, 2025 · 1 fileMessage 78 · AdequateInformational 17Details
Commit message · Matt Whitlock
pyln-testing: close 'config.vars' after reading
This code has a resource leak:
lines = open(fname, 'r').readlines()
This is the correct way:
with open(fname, 'r') as f: lines = f.readlines()
Changelog-None
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
AI analysis · Informational 17/100
This commit fixes a minor resource leak in a Python testing utility. The original code opened a small configuration file but never explicitly closed it. The fix uses Python's 'with' statement to ensure the file is closed automatically after reading. This is a code-quality improvement with no practical security impact.
pyln-client: don't leak dirfd after connecting Unix socket
This file descriptor leak was causing test failures due to exceeding the limit on open file descriptors. Note that the leak only occurred if the RPC socket path was longer than can fit in a struct sockaddr_un.
Changelog-Fixed: pyln-client no longer leaks a file descriptor when connecting to an RPC socket with a long path name.
95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
AI analysis · Low 28/100
This commit fixes a file descriptor leak in the Python client library used to talk to Core Lightning. When connecting to a Unix socket whose path was too long, the code opened a temporary directory file descriptor but never closed it. Over time this could exhaust the process's allowance of open files, causing test failures or potentially disrupting normal operation. The fix wraps the socket connection in a try/finally block so the temporary descriptor is always closed.
pyln-testing: don't leak file descriptor in GossipStore
Changelog-None
60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 18/100
This is a small cleanup in a Python testing helper that makes sure a gossip-store file is closed when the object is destroyed or reopened. It fixes a file-descriptor leak in test infrastructure, not in the actual Core Lightning node software. There is no direct security impact on live Lightning nodes or user funds.