From fb0b82c4d9f3533c0874d217124ef7863ef2399d Mon Sep 17 00:00:00 2001 From: Dave Allie Date: Mon, 29 Dec 2025 02:24:20 +1100 Subject: [PATCH] Use a JSON filter to avoid crashes when checking for updates The source data can be quite large if the release description is large Fixes https://github.com/daveallie/crosspoint-reader/issues/124 --- src/network/OtaUpdater.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/network/OtaUpdater.cpp b/src/network/OtaUpdater.cpp index 249c4570..7558305c 100644 --- a/src/network/OtaUpdater.cpp +++ b/src/network/OtaUpdater.cpp @@ -27,7 +27,12 @@ OtaUpdater::OtaUpdaterError OtaUpdater::checkForUpdate() { } JsonDocument doc; - const DeserializationError error = deserializeJson(doc, *client); + JsonDocument filter; + filter["tag_name"] = true; + filter["assets"][0]["name"] = true; + filter["assets"][0]["browser_download_url"] = true; + filter["assets"][0]["size"] = true; + const DeserializationError error = deserializeJson(doc, *client, DeserializationOption::Filter(filter)); http.end(); if (error) { Serial.printf("[%lu] [OTA] JSON parse failed: %s\n", millis(), error.c_str());