From ed67d44a54053c551734575d58acf1b1ef9d0ded Mon Sep 17 00:00:00 2001 From: SatoshyBoy Date: Fri, 8 Sep 2023 18:15:45 -0400 Subject: [PATCH] bm13xx: Handle invalid job ids in process_work --- components/bm1397/bm1366.c | 5 +++++ components/bm1397/bm1397.c | 1 + 2 files changed, 6 insertions(+) diff --git a/components/bm1397/bm1366.c b/components/bm1397/bm1366.c index d90b6e89..daec0212 100644 --- a/components/bm1397/bm1366.c +++ b/components/bm1397/bm1366.c @@ -672,6 +672,11 @@ task_result * BM1366_proccess_work(void * pvParameters) GlobalState * GLOBAL_STATE = (GlobalState *) pvParameters; + if (GLOBAL_STATE->valid_jobs[rx_job_id] == 0) { + ESP_LOGE(TAG, "Invalid job nonce found, id=%d", rx_job_id); + return NULL; + } + uint32_t rolled_version = GLOBAL_STATE->ASIC_TASK_MODULE.active_jobs[rx_job_id]->version; // // // shift the 16 bit value left 13 diff --git a/components/bm1397/bm1397.c b/components/bm1397/bm1397.c index 8b2ebe8c..b3dc8921 100644 --- a/components/bm1397/bm1397.c +++ b/components/bm1397/bm1397.c @@ -425,6 +425,7 @@ task_result *BM1397_proccess_work(void *pvParameters) if (GLOBAL_STATE->valid_jobs[rx_job_id] == 0) { ESP_LOGI(TAG, "Invalid job nonce found, id=%d", rx_job_id); + return NULL; } uint32_t rolled_version = GLOBAL_STATE->ASIC_TASK_MODULE.active_jobs[rx_job_id]->version;