tdf#148470 if macOS glyph fallback provided a partial result flag what failed
[LibreOffice.git] / external / nss / ubsan.patch.0
blob2c32d90b00ce671f1b3c192b797db61535dd138f
1 --- nss/lib/base/item.c
2 +++ nss/lib/base/item.c
3 @@ -182,5 +182,5 @@
4          return PR_FALSE;
5      }
6  
7 -    return nsslibc_memequal(one->data, two->data, one->size, statusOpt);
8 +    return one->size == 0 || nsslibc_memequal(one->data, two->data, one->size, statusOpt);
9  }
10 --- nss/lib/softoken/legacydb/pk11db.c
11 +++ nss/lib/softoken/legacydb/pk11db.c
12 @@ -65,7 +65,7 @@
13      unsigned char isModuleDBOnly;
14      unsigned char isCritical;
15      unsigned char reserved[4];
16 -    unsigned char names[6]; /* enough space for the length fields */
17 +    unsigned char names[1]; /* +5: enough space for the length fields */
18  };
20  struct lgdbSlotDataStr {
21 @@ -148,7 +148,7 @@
22          goto loser;
23      }
25 -    dataLen = sizeof(lgdbData) + len + len2 + len3 + sizeof(unsigned short) +
26 +    dataLen = sizeof(lgdbData)+5 + len + len2 + len3 + sizeof(unsigned short) +
27                count * sizeof(lgdbSlotData);
29      data->data = (unsigned char *)PORT_ZAlloc(dataLen);
30 @@ -327,7 +327,7 @@
31      }
32      if ((encoded->major == LGDB_DB_EXT1_VERSION_MAJOR) &&
33          (encoded->minor >= LGDB_DB_EXT1_VERSION_MINOR)) {
34 -        CHECK_SIZE(sizeof(lgdbData));
35 +        CHECK_SIZE(sizeof(lgdbData)+5);
36          trustOrder = LGDB_GETLONG(encoded->trustOrder);
37          cipherOrder = LGDB_GETLONG(encoded->cipherOrder);
38          isModuleDB = (encoded->isModuleDB != 0) ? PR_TRUE : PR_FALSE;