bugfix: prevent out of bounds write in e_intl_locale_parts_get()
authorMike Blumenkrantz <zmike@samsung.com>
Thu, 13 Mar 2014 14:46:28 +0000 (10:46 -0400)
committerMike Blumenkrantz <zmike@samsung.com>
Thu, 13 Mar 2014 14:46:28 +0000 (10:46 -0400)
CIDs 1039848, 1039847

src/bin/e_intl.c

index d0c879f..b7f808e 100644 (file)
@@ -687,14 +687,14 @@ e_intl_locale_parts_get(const char *locale)
                   codeset[tmp_idx] = 0;
                   tmp_idx = 0;
                }
-             else if (tmp_idx < 32)
+             else if (tmp_idx < 31)
                codeset[tmp_idx++] = locale_char;
              else
                return NULL;
              break;
 
            case 3: /* Gathering modifier */
-             if (tmp_idx < 32)
+             if (tmp_idx < 31)
                modifier[tmp_idx++] = locale_char;
              else
                return NULL;