From f7c9989b488879925a8571de8a761e9961b0cec9 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 23 Jan 2023 15:26:54 -0800 Subject: [PATCH] Fix crash when parser's wasm store is taken before its language is changed --- lib/src/parser.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/src/parser.c b/lib/src/parser.c index 19ebd94d..924c1afc 100644 --- a/lib/src/parser.c +++ b/lib/src/parser.c @@ -353,10 +353,12 @@ static void ts_parser__external_scanner_destroy( ) { if (self->language && self->external_scanner_payload) { if (ts_language_is_wasm(self->language)) { - ts_wasm_store_call_scanner_destroy( - self->wasm_store, - (uintptr_t)self->external_scanner_payload - ); + if (self->wasm_store) { + ts_wasm_store_call_scanner_destroy( + self->wasm_store, + (uintptr_t)self->external_scanner_payload + ); + } } else if (self->language->external_scanner.destroy) { self->language->external_scanner.destroy( self->external_scanner_payload