Skip to content

Commit fbee00c

Browse files
fix(RESTAPIVersionReleasesCache): don't cache bad gh api responses #900
1 parent 7e354c3 commit fbee00c

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Caches/RESTAPIVersionReleasesCache.inc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,16 @@ class RESTAPIVersionReleasesCache extends Cache {
3232
);
3333
$releases = json_decode($releases_json, true);
3434

35-
# Return the fetched releases if in a valid format, otherwise retain the existing cache
36-
return is_array($releases) ? $releases : $this->read();
35+
# If we don't have an 'assets' key, the response is invalid. Log the response, keep the existing cache
36+
if (!is_array($releases) or !array_key_exists('assets', $releases)) {
37+
Cache::log(
38+
level: LOG_ERR,
39+
message: "Releases data is malformed, received $releases_json. Keeping existing cache.",
40+
);
41+
return $this->read();
42+
}
43+
44+
# Return the fetched releases
45+
return $releases;
3746
}
3847
}

0 commit comments

Comments
 (0)