renderd memory and threading fixes (split out of #497).

- **slave_thread partial reads**: the same bug #469 fixed in `mod_tile.c` — the 
recv loop overwrote rather than accumulated the byte count and used struct 
pointer arithmetic, so partial reads wrote to the wrong place. Also handles 
`EINTR` and EOF.
- **Signal handler safety**: `request_exit()` called `g_logger`/`strerror`, 
which are not async-signal-safe; it now only calls `write(2)`.
- Unchecked `malloc` results and leaks on error paths in `renderd.c`, 
`request_queue.c` and `store_file.c`.
- Removed an unreachable duplicate `HASHIDX_SIZE` definition.

Independent of the other PRs in this series; it applies to `master` on its own 
and merges cleanly with each of them in any order.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01YForD7qSL9LT6FhMuAoKPV

You can view, comment on, or merge this pull request online at:

  https://github.com/openstreetmap/mod_tile/pull/503

-- Commit Summary --

  * renderd: fix leaks and unchecked malloc results
  * Fix threading bugs: recv pointer arithmetic, signal handler safety, dead 
macro
  * renderd: avoid -Wunused-result in request_exit()

-- File Changes --

    M includes/render_config.h (1)
    M src/renderd.c (64)
    M src/request_queue.c (9)
    M src/store_file.c (22)

-- Patch Links --

https://github.com/openstreetmap/mod_tile/pull/503.patch
https://github.com/openstreetmap/mod_tile/pull/503.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/mod_tile/pull/503
You are receiving this because you are subscribed to this thread.

Message ID: <openstreetmap/mod_tile/pull/[email protected]>
_______________________________________________
Tile-serving mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/tile-serving

Reply via email to