This is an automated email from the ASF dual-hosted git repository. sjanc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-mcumgr.git
commit f8c60f946232729b28c2b55700e159571d95a3e6 Author: Szymon Janc <[email protected]> AuthorDate: Wed Oct 7 16:10:48 2026 +0200 cmd/log_mgmt: Fix watermark update on response size error If response size was exceeded before any entry was processed, watermark was updated with uninitialized index. Return directly in that case and initialize walk context. Assisted-by: Claude:claude-opus-5-5 --- cmd/log_mgmt/src/log_mgmt.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cmd/log_mgmt/src/log_mgmt.c b/cmd/log_mgmt/src/log_mgmt.c index e312b4c..398c6ec 100644 --- a/cmd/log_mgmt/src/log_mgmt.c +++ b/cmd/log_mgmt/src/log_mgmt.c @@ -252,7 +252,7 @@ log_encode_entries(const struct log_mgmt_log *log, CborEncoder *enc, { struct CborCntWriter cnt_writer; struct log_mgmt_filter filter; - struct log_walk_ctxt ctxt; + struct log_walk_ctxt ctxt = { 0 }; CborEncoder cnt_encoder; CborEncoder entries; CborError err; @@ -272,8 +272,8 @@ log_encode_entries(const struct log_mgmt_log *log, CborEncoder *enc, rsp_len = cbor_encode_bytes_written(enc) + cbor_encode_bytes_written(&cnt_encoder); if (rsp_len > LOG_MGMT_MAX_RSP_LEN) { - rc = LOG_MGMT_ERR_EUNKNOWN; - goto err; + /* No entries were processed, don't update watermark */ + return LOG_MGMT_ERR_EUNKNOWN; } err |= cbor_encode_text_stringz(enc, "entries"); @@ -304,7 +304,6 @@ log_encode_entries(const struct log_mgmt_log *log, CborEncoder *enc, return LOG_MGMT_ERR_ENOMEM; } -err: #if LOG_MGMT_READ_WATERMARK_UPDATE if (!rc || rc == LOG_MGMT_ERR_EUNKNOWN) { log_mgmt_impl_set_watermark(log, ctxt.last_enc_index);
