lua: fix possible out-of-bounds read in iwinfo_L_cryptotable()
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 29 Oct 2015 09:46:59 +0000 (10:46 +0100)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 29 Oct 2015 09:46:59 +0000 (10:46 +0100)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
iwinfo_lua.c

index 1a9100123940a73fc6dabf3a5380e9c4b762bc4e..2154ecc534078d9dd29899dd29eea37988f6fd9e 100644 (file)
@@ -190,7 +190,7 @@ static void iwinfo_L_cryptotable(lua_State *L, struct iwinfo_crypto_entry *c)
        lua_setfield(L, -2, "wpa");
 
        lua_newtable(L);
-       for (i = 0, j = 1; i < 8; i++)
+       for (i = 0, j = 1; i < ARRAY_SIZE(IWINFO_CIPHER_NAMES); i++)
        {
                if (c->pair_ciphers & (1 << i))
                {
@@ -201,7 +201,7 @@ static void iwinfo_L_cryptotable(lua_State *L, struct iwinfo_crypto_entry *c)
        lua_setfield(L, -2, "pair_ciphers");
 
        lua_newtable(L);
-       for (i = 0, j = 1; i < 8; i++)
+       for (i = 0, j = 1; i < ARRAY_SIZE(IWINFO_CIPHER_NAMES); i++)
        {
                if (c->group_ciphers & (1 << i))
                {
@@ -212,7 +212,7 @@ static void iwinfo_L_cryptotable(lua_State *L, struct iwinfo_crypto_entry *c)
        lua_setfield(L, -2, "group_ciphers");
 
        lua_newtable(L);
-       for (i = 0, j = 1; i < 8; i++)
+       for (i = 0, j = 1; i < ARRAY_SIZE(IWINFO_KMGMT_NAMES); i++)
        {
                if (c->auth_suites & (1 << i))
                {
@@ -223,7 +223,7 @@ static void iwinfo_L_cryptotable(lua_State *L, struct iwinfo_crypto_entry *c)
        lua_setfield(L, -2, "auth_suites");
 
        lua_newtable(L);
-       for (i = 0, j = 1; i < 8; i++)
+       for (i = 0, j = 1; i < ARRAY_SIZE(IWINFO_AUTH_NAMES); i++)
        {
                if (c->auth_algs & (1 << i))
                {