Merge pull request #54 from vrahane/fix_tlv_parsing
img_mgmt: TLVs were not getting parsed correctly
diff --git a/cborattr/src/cborattr.c b/cborattr/src/cborattr.c
index 68c18a8..662836a 100644
--- a/cborattr/src/cborattr.c
+++ b/cborattr/src/cborattr.c
@@ -157,7 +157,7 @@
void *lptr;
CborValue cur_value;
CborError err = 0;
- size_t len;
+ size_t len = 0;
CborType type = CborInvalidType;
/* stuff fields with defaults in case they're omitted in the JSON input */
@@ -191,7 +191,6 @@
}
}
-
if (cbor_value_is_map(root_value)) {
err |= cbor_value_enter_container(root_value, &cur_value);
} else {
diff --git a/cmd/img_mgmt/src/img_mgmt_state.c b/cmd/img_mgmt/src/img_mgmt_state.c
index 9db0a6a..5998ada 100644
--- a/cmd/img_mgmt/src/img_mgmt_state.c
+++ b/cmd/img_mgmt/src/img_mgmt_state.c
@@ -176,6 +176,7 @@
rc = MGMT_ERR_EUNKNOWN;
}
+ img_mgmt_dfu_confirmed();
err:
return img_mgmt_impl_log_confirm(rc, NULL);
}
diff --git a/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c b/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c
index edff9a0..33dd774 100644
--- a/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c
+++ b/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c
@@ -132,8 +132,12 @@
{
const char *name;
+ if (idx >= LOG_LEVEL_MAX) {
+ return LOG_MGMT_ERR_ENOENT;
+ }
+
name = LOG_LEVEL_STR(idx);
- if (name == NULL) {
+ if (!strcmp(name, "UNKNOWN")) {
return LOG_MGMT_ERR_ENOENT;
} else {
*out_level_name = name;
diff --git a/cmd/log_mgmt/src/log_mgmt.c b/cmd/log_mgmt/src/log_mgmt.c
index 0686c37..42343a5 100644
--- a/cmd/log_mgmt/src/log_mgmt.c
+++ b/cmd/log_mgmt/src/log_mgmt.c
@@ -313,12 +313,12 @@
return LOG_MGMT_ERR_ENOMEM;
}
+err:
#if LOG_MGMT_READ_WATERMARK_UPDATE
- if (!rc) {
+ if (!rc || rc == LOG_MGMT_ERR_EUNKNOWN) {
log_mgmt_impl_set_watermark(log, ctxt.last_enc_index);
}
#endif
-err:
return rc;
}
diff --git a/cmd/os_mgmt/port/mynewt/src/mynewt_os_mgmt.c b/cmd/os_mgmt/port/mynewt/src/mynewt_os_mgmt.c
index b93804b..78f198b 100644
--- a/cmd/os_mgmt/port/mynewt/src/mynewt_os_mgmt.c
+++ b/cmd/os_mgmt/port/mynewt/src/mynewt_os_mgmt.c
@@ -44,19 +44,11 @@
static uint16_t
mynewt_os_mgmt_stack_usage(const struct os_task *task)
{
- const os_stack_t *bottom;
- const os_stack_t *top;
+ struct os_task_info oti;
- top = task->t_stacktop;
- bottom = task->t_stacktop - task->t_stacksize;
- while (bottom < top) {
- if (*bottom != OS_STACK_PATTERN) {
- break;
- }
- ++bottom;
- }
+ os_task_info_get(task, &oti);
- return task->t_stacktop - bottom;
+ return oti.oti_stkusage;
}
static const struct os_task *