1--- nss/lib/softoken/legacydb/pk11db.c 2+++ nss/lib/softoken/legacydb/pk11db.c 3@@ -65,7 +65,7 @@ 4 unsigned char isModuleDBOnly; 5 unsigned char isCritical; 6 unsigned char reserved[4]; 7- unsigned char names[6]; /* enough space for the length fields */ 8+ unsigned char names[1]; /* +5: enough space for the length fields */ 9 }; 10 11 struct lgdbSlotDataStr { 12@@ -148,7 +148,7 @@ 13 goto loser; 14 } 15 16- dataLen = sizeof(lgdbData) + len + len2 + len3 + sizeof(unsigned short) + 17+ dataLen = sizeof(lgdbData)+5 + len + len2 + len3 + sizeof(unsigned short) + 18 count * sizeof(lgdbSlotData); 19 20 data->data = (unsigned char *)PORT_ZAlloc(dataLen); 21@@ -327,7 +327,7 @@ 22 } 23 if ((encoded->major == LGDB_DB_EXT1_VERSION_MAJOR) && 24 (encoded->minor >= LGDB_DB_EXT1_VERSION_MINOR)) { 25- CHECK_SIZE(sizeof(lgdbData)); 26+ CHECK_SIZE(sizeof(lgdbData)+5); 27 trustOrder = LGDB_GETLONG(encoded->trustOrder); 28 cipherOrder = LGDB_GETLONG(encoded->cipherOrder); 29 isModuleDB = (encoded->isModuleDB != 0) ? PR_TRUE : PR_FALSE; 30