Skip to content

Commit 62ee90c

Browse files
Update CLAUDE.md with newly found and fixed issues
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 3bc3c5e commit 62ee90c

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ Test infrastructure uses `tests/httpd.conf.in` and `tests/renderd.conf.in` templ
135135
- **`src/store_ro_http_proxy.c:strcpy` at line 165**`xmlconfig` is copied into `ctx->cache.xmlname[XMLCONFIG_MAX]` (41 bytes) without a prior length check. The caller is the storage backend interface which in practice receives validated xmlconfig names, but the copy is not bounds-safe.
136136
- **`src/renderd.c` / `src/mod_tile.c``bzero` usage** — several files use the deprecated `bzero()` instead of `memset(..., 0, ...)`. Functionally equivalent on Linux but not strictly portable.
137137
- **`src/gen_tile.cpp:render_thread` — startup `strndup`/`malloc` leaks**`output_format`, `xmlfile`, `xmlname` (`strndup`), `prj` (`malloc`), and `store` (`init_storage_backend`) are allocated once per thread at startup and never freed. The render thread runs in an infinite loop and never exits, so these do not accumulate in practice.
138+
- **`src/store_ro_composite.c``connection_string_secondary` (strdup) not freed on late error paths** — after the `strdup` on the secondary connection string, several subsequent error paths (store_primary init failure, store_secondary init failure) free it, but if `store_secondary` init succeeds and a later step fails the pointer may still leak depending on the code path. Low risk: composite storage is rarely used and init failures abort the process.
138139

139140
## Parameterized rendering cache
140141

0 commit comments

Comments
 (0)