Skip to content

Commit a1a32d2

Browse files
fix: crash in threads_get_public_archived (#1268)
1 parent 6134d8d commit a1a32d2

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/dpp/thread.cpp

+8-6
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,14 @@ thread& thread::fill_from_json_impl(json* j) {
4646
set_int8_not_null(j, "member_count", this->member_count);
4747
set_bool_not_null(j, "newly_created", this->newly_created);
4848

49-
auto json_metadata = (*j)["thread_metadata"];
50-
metadata.archived = bool_not_null(&json_metadata, "archived");
51-
metadata.archive_timestamp = ts_not_null(&json_metadata, "archive_timestamp");
52-
metadata.auto_archive_duration = int16_not_null(&json_metadata, "auto_archive_duration");
53-
metadata.locked = bool_not_null(&json_metadata, "locked");
54-
metadata.invitable = bool_not_null(&json_metadata, "invitable");
49+
if (j->contains("thread_metadata")) {
50+
auto json_metadata = (*j)["thread_metadata"];
51+
metadata.archived = bool_not_null(&json_metadata, "archived");
52+
metadata.archive_timestamp = ts_not_null(&json_metadata, "archive_timestamp");
53+
metadata.auto_archive_duration = int16_not_null(&json_metadata, "auto_archive_duration");
54+
metadata.locked = bool_not_null(&json_metadata, "locked");
55+
metadata.invitable = bool_not_null(&json_metadata, "invitable");
56+
}
5557

5658
/* Only certain events set this */
5759
if (j->contains("member")) {

0 commit comments

Comments
 (0)