am 24ad29c6: Merge change 6177 into donut

Merge commit '24ad29c6dbbf62096bcb41ddb2fa3975720ee625'

* commit '24ad29c6dbbf62096bcb41ddb2fa3975720ee625':
  Two small checks in keymgmt.
diff --git a/cmds/keystore/keymgmt.c b/cmds/keystore/keymgmt.c
index e4102a9..66edd56 100644
--- a/cmds/keystore/keymgmt.c
+++ b/cmds/keystore/keymgmt.c
@@ -185,6 +185,7 @@
         p = strtok_r(NULL, delimiter, &context);
     }
     if (count != 2) return -1;
+    if (strlen(new_pass) < MIN_PASSWD_LENGTH) return -1;
     if ((ret = get_master_key(old_pass, master_key)) == 0) {
         ret = store_master_key(new_pass, master_key);
         retry_count = 0;
@@ -259,6 +260,11 @@
     DIR *d;
     struct dirent *de;
 
+    if (state != UNLOCKED) {
+        LOGE("Can not list key with current state %d\n", state);
+        return -1;
+    }
+
     if (!namespace || ((d = opendir("."))) == NULL) {
         LOGE("cannot open keystore dir or namespace is null\n");
         return -1;
@@ -287,6 +293,7 @@
 {
     if (state == UNINITIALIZED) {
         if (strchr(data, ' ')) return -1;
+        if (strlen(data) < MIN_PASSWD_LENGTH) return -1;
         return create_master_key(data);
     }
     return change_passwd(data);
diff --git a/cmds/keystore/keymgmt.h b/cmds/keystore/keymgmt.h
index 0f10570..0e928db 100644
--- a/cmds/keystore/keymgmt.h
+++ b/cmds/keystore/keymgmt.h
@@ -27,7 +27,8 @@
 #define AES_KEY_LEN     128
 #define USER_KEY_LEN    (AES_KEY_LEN/8)
 #define IV_LEN          USER_KEY_LEN
-#define MAX_RETRY_COUNT 6
+#define MAX_RETRY_COUNT   6
+#define MIN_PASSWD_LENGTH 8
 
 #define gen_key(passwd, key, len) \
                 PKCS5_PBKDF2_HMAC_SHA1(passwd, strlen(passwd), \
diff --git a/cmds/keystore/netkeystore.c b/cmds/keystore/netkeystore.c
index e45e24f..eac455e 100644
--- a/cmds/keystore/netkeystore.c
+++ b/cmds/keystore/netkeystore.c
@@ -224,6 +224,7 @@
     }
     reply->retcode = reset_keystore();
 }
+
 static void execute(LPC_MARSHAL *cmd, LPC_MARSHAL *reply)
 {
     uint32_t cmd_max = sizeof(cmds)/sizeof(struct cmdinfo);