Commit 864169f
committed
fix: prevent null cast exception in executeTask inputData handling
Replace unsafe cast() method with manual filtering to safely handle
null keys and values in inputData Map<String?, Object?>.
Original issue: inputData?.cast<String, dynamic>() would fail when
the map contained null keys or when cast failed with TypeError.
The fix:
- Manually iterate through inputData entries
- Filter out null keys to prevent invalid Map entries
- Preserve null values which are valid in Map<String, dynamic>
- Return null when inputData is null (preserves existing behavior)
This resolves crashes when native platforms pass inputData with
null keys or incompatible value types.
Includes unit test to verify null argument handling doesn't crash.
Thanks to @Dr-wgy for reporting this issue in PR #618.1 parent 58071b7 commit 864169f
3 files changed
Lines changed: 26 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
309 | | - | |
310 | | - | |
311 | | - | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
312 | 319 | | |
313 | 320 | | |
314 | 321 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
51 | 66 | | |
0 commit comments