Commit fb879c5
fix(routing): defensive nil checks for multiaddr handling (#1081)
* fix(routing): defensive nil checks for multiaddr handling
Belt-and-suspenders defense against corrupted address data:
- types/ipfs.go: Multiaddr.MarshalJSON returns null for nil
- contentrouter: filters nil addresses when building AddrInfo
Should help with ipfs/kubo#11116
* refactor(routing): extract filterAddrs helper, extend nil protection
- extract filterAddrs() to deduplicate nil-filtering logic
- preallocate slice per review feedback
- extend nil multiaddr protection to FindPeer and GetClosestPeers
- update test to expect empty slices instead of nil
addresses review feedback on #1081
* fix(routing): preserve nil semantics in filterAddrs
return nil instead of empty slice when input is empty or all entries
are filtered out, maintaining original behavior for AddrInfo.Addrs
---------
Co-authored-by: Guillaume Michel <[email protected]>
Co-authored-by: Andrew Gillis <[email protected]>1 parent f42859f commit fb879c5
2 files changed
+33
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
24 | 43 | | |
25 | 44 | | |
26 | 45 | | |
| |||
147 | 166 | | |
148 | 167 | | |
149 | 168 | | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | 169 | | |
156 | 170 | | |
157 | 171 | | |
158 | 172 | | |
159 | 173 | | |
160 | | - | |
| 174 | + | |
161 | 175 | | |
162 | 176 | | |
163 | 177 | | |
| |||
175 | 189 | | |
176 | 190 | | |
177 | 191 | | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | 192 | | |
184 | 193 | | |
185 | 194 | | |
186 | 195 | | |
187 | 196 | | |
188 | | - | |
| 197 | + | |
189 | 198 | | |
190 | 199 | | |
191 | 200 | | |
| |||
224 | 233 | | |
225 | 234 | | |
226 | 235 | | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
| 236 | + | |
232 | 237 | | |
233 | 238 | | |
234 | 239 | | |
| |||
327 | 332 | | |
328 | 333 | | |
329 | 334 | | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
| 335 | + | |
335 | 336 | | |
336 | 337 | | |
337 | 338 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
30 | 40 | | |
31 | 41 | | |
32 | 42 | | |
| |||
0 commit comments