Commit a22da9e
fix: defensive-copy _get_row_types row_types branch
`_get_row_types` returned `self.row_types[row_idx]` by reference on
the per-row-types branch — the same aliasing pattern that issue 052
fixed for the `column_types` fallback. A caller who captured the
return value and mutated it would silently rewrite the message's
internal `row_types[i]` list. Return a fresh `list(...)` copy,
completing the invariant that all three branches of `_get_row_types`
now return independent lists.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent d7221ff commit a22da9e
2 files changed
Lines changed: 30 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
257 | | - | |
| 257 | + | |
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
270 | 299 | | |
271 | 300 | | |
272 | 301 | | |
| |||
0 commit comments