Merge branch 'clang-static-analyzer'

This commit is contained in:
Sebastian Pipping 2019-07-28 01:38:47 +02:00
commit b37d45a77c
3 changed files with 41 additions and 20 deletions

View file

@ -5007,6 +5007,7 @@ doProlog(XML_Parser parser,
int myindex = nextScaffoldPart(parser);
if (myindex < 0)
return XML_ERROR_NO_MEMORY;
assert(dtd->scaffIndex != NULL);
dtd->scaffIndex[dtd->scaffLevel] = myindex;
dtd->scaffLevel++;
dtd->scaffold[myindex].type = XML_CTYPE_SEQ;

View file

@ -1297,6 +1297,7 @@ START_TEST(test_really_long_encoded_lines)
buffer = XML_GetBuffer(g_parser, parse_len);
if (buffer == NULL)
fail("Could not allocate parse buffer");
assert(buffer != NULL);
memcpy(buffer, text, parse_len);
if (XML_ParseBuffer(g_parser, parse_len, XML_TRUE) == XML_STATUS_ERROR)
xml_failure(g_parser);
@ -2409,6 +2410,7 @@ START_TEST(test_long_cdata_utf16)
buffer = XML_GetBuffer(g_parser, sizeof(text) - 1);
if (buffer == NULL)
fail("Could not allocate parse buffer");
assert(buffer != NULL);
memcpy(buffer, text, sizeof(text) - 1);
if (XML_ParseBuffer(g_parser,
sizeof(text) - 1,
@ -3450,6 +3452,7 @@ external_entity_suspending_faulter(XML_Parser parser,
buffer = XML_GetBuffer(ext_parser, parse_len);
if (buffer == NULL)
fail("Could not allocate parse buffer");
assert(buffer != NULL);
memcpy(buffer, fault->parse_text, parse_len);
if (XML_ParseBuffer(ext_parser, parse_len,
XML_FALSE) != XML_STATUS_SUSPENDED)
@ -4065,6 +4068,7 @@ START_TEST(test_get_buffer_1)
buffer = XML_GetBuffer(g_parser, 1536);
if (buffer == NULL)
fail("1.5K buffer failed");
assert(buffer != NULL);
memcpy(buffer, text, strlen(text));
if (XML_ParseBuffer(g_parser, (int)strlen(text), XML_FALSE) == XML_STATUS_ERROR)
xml_failure(g_parser);
@ -4103,6 +4107,7 @@ START_TEST(test_get_buffer_2)
buffer = XML_GetBuffer(g_parser, 1536);
if (buffer == NULL)
fail("1.5K buffer failed");
assert(buffer != NULL);
memcpy(buffer, text, strlen(text));
if (XML_ParseBuffer(g_parser, (int)strlen(text), XML_FALSE) == XML_STATUS_ERROR)
xml_failure(g_parser);
@ -7987,6 +7992,9 @@ static int
parse_version(const XML_LChar *version_text,
XML_Expat_Version *version_struct)
{
if (! version_text)
return XML_FALSE;
while (*version_text != 0x00) {
if (*version_text >= ASCII_0 && *version_text <= ASCII_9)
break;
@ -8042,6 +8050,7 @@ START_TEST(test_misc_version)
if (version_text == NULL)
fail("Could not obtain version text");
assert(version_text != NULL);
if (!parse_version(version_text, &parsed_version))
fail("Unable to parse version text");
if (!versions_equal(&read_version, &parsed_version))
@ -8886,6 +8895,7 @@ START_TEST(test_alloc_realloc_buffer)
buffer = XML_GetBuffer(g_parser, 1536);
if (buffer == NULL)
fail("1.5K buffer reallocation failed");
assert(buffer != NULL);
memcpy(buffer, text, strlen(text));
if (XML_ParseBuffer(g_parser, (int)strlen(text),
XML_FALSE) == XML_STATUS_OK)
@ -8923,6 +8933,7 @@ external_entity_reallocator(XML_Parser parser,
buffer = XML_GetBuffer(ext_parser, 1536);
if (buffer == NULL)
fail("Buffer allocation failed");
assert(buffer != NULL);
memcpy(buffer, text, strlen(text));
status = XML_ParseBuffer(ext_parser, (int)strlen(text), XML_FALSE);
reallocation_count = -1;
@ -10562,6 +10573,7 @@ START_TEST(test_nsalloc_parse_buffer)
buffer = XML_GetBuffer(g_parser, (int)strlen(text));
if (buffer == NULL)
fail("Could not acquire parse buffer");
assert(buffer != NULL);
memcpy(buffer, text, strlen(text));
if (XML_ParseBuffer(g_parser, (int)strlen(text),
XML_TRUE) != XML_STATUS_SUSPENDED)

View file

@ -125,27 +125,32 @@ StructData_CheckItems(StructData *storage,
storage->count, count);
StructData_Dispose(storage);
fail(buffer);
}
for (i = 0; i < count; i++)
{
const StructDataEntry *got = &storage->entries[i];
const StructDataEntry *want = &expected[i];
} else {
for (i = 0; i < count; i++)
{
const StructDataEntry *got = &storage->entries[i];
const StructDataEntry *want = &expected[i];
if (xcstrcmp(got->str, want->str) != 0) {
StructData_Dispose(storage);
fail("structure got bad string");
}
if (got->data0 != want->data0 ||
got->data1 != want->data1 ||
got->data2 != want->data2) {
sprintf(buffer,
"struct '%" XML_FMT_STR
"' expected (%d,%d,%d), got (%d,%d,%d)",
got->str,
want->data0, want->data1, want->data2,
got->data0, got->data1, got->data2);
StructData_Dispose(storage);
fail(buffer);
assert(got != NULL);
assert(want != NULL);
if (xcstrcmp(got->str, want->str) != 0) {
StructData_Dispose(storage);
fail("structure got bad string");
} else {
if (got->data0 != want->data0 ||
got->data1 != want->data1 ||
got->data2 != want->data2) {
sprintf(buffer,
"struct '%" XML_FMT_STR
"' expected (%d,%d,%d), got (%d,%d,%d)",
got->str,
want->data0, want->data1, want->data2,
got->data0, got->data1, got->data2);
StructData_Dispose(storage);
fail(buffer);
}
}
}
}
}
@ -159,4 +164,7 @@ StructData_Dispose(StructData *storage)
for (i = 0; i < storage->count; i++)
free((void *)storage->entries[i].str);
free(storage->entries);
storage->count = 0;
storage->entries = NULL;
}