Bug 1192982 - increase buffer size, memset it to 0 and then do the right way strncpy. r=jaas
--- a/dom/plugins/test/testplugin/nptest.cpp
+++ b/dom/plugins/test/testplugin/nptest.cpp
@@ -423,18 +423,23 @@ static void clearIdentifiers()
memset(sPluginPropertyIdentifiers, 0,
MOZ_ARRAY_LENGTH(sPluginPropertyIdentifiers) * sizeof(NPIdentifier));
sIdentifiersInitialized = false;
}
static void addRange(InstanceData* instanceData, const char* range)
{
- char rangestr[16];
- strncpy(rangestr, range, sizeof(rangestr));
+ /*
+ increased rangestr size from 16 to 17, the 17byte is only for
+ null terminated value, maybe for actual capacity it needs 16 bytes
+ */
+ char rangestr[17];
+ memset(rangestr, 0, sizeof(rangestr));
+ strncpy(rangestr, range, sizeof(rangestr) - sizeof(char));
const char* str1 = strtok(rangestr, ",");
const char* str2 = str1 ? strtok(nullptr, ",") : nullptr;
if (str1 && str2) {
TestRange* byterange = new TestRange;
byterange->offset = atoi(str1);
byterange->length = atoi(str2);
byterange->waiting = true;
byterange->next = instanceData->testrange;