Warning: Permanently added '54.91.30.255' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --srpm --task-url https://copr.fedorainfracloud.org/backend/get-srpm-build-task/10391476 Version: 1.8 PID: 12733 Logging PID: 12735 Task: {'appstream': False, 'background': False, 'build_id': 10391476, 'chroot': None, 'distributions_in_build': ['alma-kitten+epel-10', 'epel-10', 'epel-9', 'fedora-42', 'fedora-43', 'fedora-44'], 'distributions_in_project': ['alma-kitten+epel-10', 'epel-10', 'epel-9', 'fedora-42', 'fedora-43', 'fedora-44'], 'package_name': 'meshtasticd', 'project_dirname': 'daily', 'project_name': 'daily', 'project_owner': '@meshtastic', 'repos': [], 'sandbox': '@meshtastic/daily--vidplace7', 'source_json': {'clone_url': 'https://github.com/meshtastic/firmware.git', 'committish': 'master', 'spec': 'meshtasticd.spec', 'srpm_build_method': 'rpkg', 'subdirectory': '', 'type': 'git'}, 'source_type': 8, 'submitter': 'vidplace7', 'task_id': '10391476'} Running: git clone https://github.com/meshtastic/firmware.git /var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://github.com/meshtastic/firmware.git', '/var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: Submodule path 'meshtestic': checked out 'dcac7e5673005f4d8a2b1f0f6e06877b689d7519' Submodule path 'protobufs': checked out '249a80855a2adb76fb0904dac8bf6285d45f330f' stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware'... Submodule 'meshtestic' (https://github.com/meshtastic/meshTestic) registered for path 'meshtestic' Submodule 'protobufs' (https://github.com/meshtastic/protobufs.git) registered for path 'protobufs' Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware/meshtestic'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware/protobufs'... Running: git checkout master -- cmd: ['git', 'checkout', 'master', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware rc: 0 stdout: branch 'master' set up to track 'origin/master'. stderr: Switched to a new branch 'master' Generated rpkg config: [rpkg] preprocess_spec = True [git] anon_clone_url = https://github.com/%(repo_path)s [lookaside] download_url = https://${git_props:remote_netloc}/repo/pkgs/%(repo_path)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s Writing config into /var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/.config/rpkg.conf Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware/meshtasticd.spec cmd: ['rpkg', 'srpm', '--outdir', '/var/lib/copr-rpmbuild/results', '--spec', '/var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware/meshtasticd.spec'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware rc: 0 stdout: Wrote: /var/lib/copr-rpmbuild/results/meshtasticd.spec setting SOURCE_DATE_EPOCH=1777248000 Wrote: /var/lib/copr-rpmbuild/results/meshtasticd-2.7.23-12767.daily.git87f1f9d34.src.rpm RPM build warnings: stderr: git_dir_pack: archiving /var/lib/copr-rpmbuild/workspace/workdir-gwbui_g8/firmware: commit 87f1f9d349759d043d62647a2e44c2f953cc1372 (HEAD -> master, origin/master) Author: nightjoker7 <47129685+nightjoker7@users.noreply.github.com> Date: Sun Apr 26 21:02:42 2026 -0500 fix(Router): localize p_encrypted to prevent recursive-overwrite leak (#10311) Router::handleReceived stores its allocCopy of the encrypted packet in the class member p_encrypted. callModules() invokes module replies that re-enter the router via MeshService::sendToMesh -> Router::sendLocal, which on a broadcast reply recursively calls handleReceived. The inner call overwrites the outer's p_encrypted without releasing it; on the way out it nulls the member, the outer release(p_encrypted) now releases nullptr, and the original allocation is permanently leaked. ~381 B per recursion. Promote p_encrypted to a function-local so each invocation owns its own copy for its full lifetime. The MQTT-publish null check at the call site (added by PR #9136 as a workaround for this bug) stays in place because allocCopy can still legitimately return nullptr on packetPool exhaustion. Copilot's review of PR #8999 (the original introduction) flagged this exact pattern at merge time: "Storing p_encrypted as a class member can cause issues with recursive or concurrent calls to handleReceived() since each call would overwrite the previous packet pointer." The historical reason for the member (S&F needing to retain the encrypted copy across calls) was satisfied differently by PR #9799 (ServerAPI converted to std::unique_ptr + cleanup on connection close), so the member is no longer load-bearing. Reproduces issues #9632 / #10101 / #8729 (heap leak when MeshMonitor connected; TCP drops on Station G2 / LILYGO ServerAPI dump abort). Hardware A/B on Station G2 under sustained TCP-API retry storm (open :4403, request config, disconnect mid-stream, repeat at ~0.6/s) - 9 min run: | Build | heapFree drift | rebootCount delta | | this patch | -1.5 KB (noise)| 0 | | stock 2.7.13 | -73 KB (8.1KB/min) | +1 (OOM crash) | Co-authored-by: Claude Opus 4.7 Co-authored-by: Ben Meadors git_dir_pack: Wrote: /var/lib/copr-rpmbuild/results/firmware-87f1f9d3.tar.gz warning: Downloading https://github.com/meshtastic/web/releases/download/v2.6.7/build.tar to /var/lib/copr-rpmbuild/results/build.tar Downloading https://github.com/meshtastic/web/releases/download/v2.6.7/build.tar to /var/lib/copr-rpmbuild/results/build.tar Output: ['build.tar', 'meshtasticd-2.7.23-12767.daily.git87f1f9d34.src.rpm', 'firmware-87f1f9d3.tar.gz', 'meshtasticd.spec'] Running SRPMResults tool Using distributions_in_build for this build. Extracting arch-specific tags for alma-kitten+epel-10 Extracting arch-specific tags for epel-10 Extracting arch-specific tags for epel-9 Extracting arch-specific tags for fedora-42 Extracting arch-specific tags for fedora-43 Extracting arch-specific tags for fedora-44 Package info: { "architecture_specific_tags": { "alma-kitten+epel-10": {}, "epel-10": {}, "epel-9": {}, "fedora-42": {}, "fedora-43": {}, "fedora-44": {} }, "name": "meshtasticd", "epoch": null, "version": "2.7.23", "release": "12767.daily.git87f1f9d34" } SRPMResults finished