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 *