If the current stage reports an error, some variables may not be correctly initialized. Scheduling the next stage could lead to the use of uninitialized variables.
Unified · Split
| @@ -656,9 +656,9 @@ static void task_run_stage(VVCTask *t, VVCContext *s, VVCLocalContext *lc) · 655 unmodified lines | ||
| 656 | 656 | "frame %5d, %s(%3d, %3d) failed with %d\r\n", |
| 657 | 657 | (int)fc->decode_order, task_name[stage], t->rx, t->ry, ret); |
| 658 | 658 | } |
| 659 | + if (!ret) | |
| 660 | + task_stage_done(t, s); | |
| 659 | 661 | } |
| 660 | − | |
| 661 | − task_stage_done(t, s); | |
| 662 | 662 | return; |
| 663 | 663 | } |
| 664 | 664 | |