nmxact - Fix parse error on empty byte string.

Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/commit/9cae5044
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/tree/9cae5044
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/diff/9cae5044

Branch: refs/heads/master
Commit: 9cae50447c17a177d0f6e5a94090acc5b8f65ac2
Parents: ea22bd0
Author: Christopher Collins <[email protected]>
Authored: Tue Mar 28 13:07:32 2017 -0700
Committer: Christopher Collins <[email protected]>
Committed: Tue Mar 28 15:38:36 2017 -0700

----------------------------------------------------------------------
 nmxact/nmble/ble_proto.go | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9cae5044/nmxact/nmble/ble_proto.go
----------------------------------------------------------------------
diff --git a/nmxact/nmble/ble_proto.go b/nmxact/nmble/ble_proto.go
index 80ef2a0..85a26f8 100644
--- a/nmxact/nmble/ble_proto.go
+++ b/nmxact/nmble/ble_proto.go
@@ -763,12 +763,18 @@ func (bb *BleBytes) UnmarshalJSON(data []byte) error {
                return err
        }
 
+       // strings.Split() appears to return { nil } when passed an empty 
string.
+       if len(s) == 0 {
+               return nil
+       }
+
        toks := strings.Split(strings.ToLower(s), ":")
        bb.Bytes = make([]byte, len(toks))
 
        for i, t := range toks {
                if !strings.HasPrefix(t, "0x") {
-                       return errors.New("Byte stream contains invalid token: 
" + t)
+                       return fmt.Errorf(
+                               "Byte stream contains invalid token; token=%s 
stream=%s", t, s)
                }
 
                u64, err := strconv.ParseUint(t, 0, 8)

Reply via email to