From 0f8bb5eeba32b299cdd7674a2e18bf7d6425586f Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sat, 28 Nov 2020 16:59:05 +0100 Subject: [PATCH 1/6] fix handling a zero attribute --- CMakeLists.txt | 1 + src/hrtf/tools.c | 2 +- tests/fail-issue-137.sofa | Bin 0 -> 91409 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 tests/fail-issue-137.sofa diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e09abe..ecb8ed6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,7 @@ if(BUILD_TESTS) 82 83 84 + 137 138) # issues with osx 96) add_test(fail-issue-${ISSUE} ${PROJECT_SOURCE_DIR}/tests/notcrashed.sh diff --git a/src/hrtf/tools.c b/src/hrtf/tools.c index 5fc12c3..80a4f6c 100644 --- a/src/hrtf/tools.c +++ b/src/hrtf/tools.c @@ -34,7 +34,7 @@ int changeAttribute(struct MYSOFA_ATTRIBUTE *attr, char *name, char *value, char *newvalue) { while (attr) { if (!strcmp(name, attr->name) && - (value == NULL || !strcmp(value, attr->value))) { + (value == NULL || attr->value == NULL || !strcmp(value, attr->value))) { free(attr->value); attr->value = mysofa_strdup(newvalue); return 1; diff --git a/tests/fail-issue-137.sofa b/tests/fail-issue-137.sofa new file mode 100644 index 0000000000000000000000000000000000000000..64b7140f90c3eeb2637a7919aa61b3fe5dfb7276 GIT binary patch literal 91409 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

^y0AhmX;ns~qMbY{LutzUIhjy`;U7OU%PMA;}u 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 J|GvWL{{f6&RcHVJ literal 0 HcmV?d00001 From d86f133dd871097b5e767da6742c109eb3a59886 Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sat, 28 Nov 2020 17:11:23 +0100 Subject: [PATCH 2/6] Fixed issue no 136 (buffer overrun) --- CMakeLists.txt | 1 + src/hdf/dataobject.c | 2 +- tests/fail-issue-136.sofa | Bin 0 -> 91409 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 tests/fail-issue-136.sofa diff --git a/CMakeLists.txt b/CMakeLists.txt index ecb8ed6..f170fdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,7 @@ if(BUILD_TESTS) 82 83 84 + 136 137 138) # issues with osx 96) diff --git a/src/hdf/dataobject.c b/src/hdf/dataobject.c index 013934b..40a6709 100644 --- a/src/hdf/dataobject.c +++ b/src/hdf/dataobject.c @@ -741,7 +741,7 @@ static int readOHDRHeaderMessageFilterPipeline(struct READER *reader) { int readDataVar(struct READER *reader, struct DATAOBJECT *data, struct DATATYPE *dt, struct DATASPACE *ds) { - char *buffer, number[16]; + char *buffer, number[20]; uint64_t reference, gcol = 0, dataobject; int err; struct DATAOBJECT *referenceData; diff --git a/tests/fail-issue-136.sofa b/tests/fail-issue-136.sofa new file mode 100644 index 0000000000000000000000000000000000000000..51e0199413bbfe49a33f804899701f46b982912f GIT binary patch literal 91409 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 W3ZwrcjsEuvqyHmC{_o#c82x{^vN7KP literal 0 HcmV?d00001 From 55809a0f30403e98b4a26d3bb6d8252c30cc1529 Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sat, 28 Nov 2020 17:17:08 +0100 Subject: [PATCH 3/6] Fixed issue 135 --- CMakeLists.txt | 1 + src/hrtf/check.c | 3 ++- tests/fail-issue-135.sofa | Bin 0 -> 91409 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 tests/fail-issue-135.sofa diff --git a/CMakeLists.txt b/CMakeLists.txt index f170fdb..b78c7c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,7 @@ if(BUILD_TESTS) 82 83 84 + 135 136 137 138) diff --git a/src/hrtf/check.c b/src/hrtf/check.c index a240a83..c635fbb 100644 --- a/src/hrtf/check.c +++ b/src/hrtf/check.c @@ -160,7 +160,8 @@ MYSOFA_EXPORT int mysofa_check(struct MYSOFA_HRTF *hrtf) { if (!verifyAttribute(hrtf->ReceiverPosition.attributes, "Type", "cartesian")) return MYSOFA_RECEIVERS_WITH_CARTESIAN_SUPPORTED; // LCOV_EXCL_LINE - if (!fequals(hrtf->ReceiverPosition.values[0], 0.) || + if (hrtf->ReceiverPosition.elements != 6 || + !fequals(hrtf->ReceiverPosition.values[0], 0.) || !fequals(hrtf->ReceiverPosition.values[2], 0.) || !fequals(hrtf->ReceiverPosition.values[3], 0.) || !fequals(hrtf->ReceiverPosition.values[5], 0.)) { diff --git a/tests/fail-issue-135.sofa b/tests/fail-issue-135.sofa new file mode 100644 index 0000000000000000000000000000000000000000..9d443a785b81b56ddff3a943cbab1243e0fe647c GIT binary patch literal 91409 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 -`02Den!}GVRz~5BWa*TzR0v4g$a-rj7G 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 literal 0 HcmV?d00001 From 9da8bb22f60709fb72ad0e926e4f0e0f1e564d8c Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sat, 28 Nov 2020 17:27:13 +0100 Subject: [PATCH 4/6] Some failes have more than six receiver values --- src/hrtf/check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hrtf/check.c b/src/hrtf/check.c index c635fbb..1a8426e 100644 --- a/src/hrtf/check.c +++ b/src/hrtf/check.c @@ -160,7 +160,7 @@ MYSOFA_EXPORT int mysofa_check(struct MYSOFA_HRTF *hrtf) { if (!verifyAttribute(hrtf->ReceiverPosition.attributes, "Type", "cartesian")) return MYSOFA_RECEIVERS_WITH_CARTESIAN_SUPPORTED; // LCOV_EXCL_LINE - if (hrtf->ReceiverPosition.elements != 6 || + if (hrtf->ReceiverPosition.elements < 6 || !fequals(hrtf->ReceiverPosition.values[0], 0.) || !fequals(hrtf->ReceiverPosition.values[2], 0.) || !fequals(hrtf->ReceiverPosition.values[3], 0.) || From 76c92283bcbf4c0c41d8d94da56b9d7b58d88192 Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sat, 28 Nov 2020 17:31:46 +0100 Subject: [PATCH 5/6] fixed negative values for malloc --- CMakeLists.txt | 1 + src/hdf/btree.c | 2 +- tests/fail-issue-130.sofa | Bin 0 -> 104124 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 tests/fail-issue-130.sofa diff --git a/CMakeLists.txt b/CMakeLists.txt index b78c7c1..a9f2231 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,7 @@ if(BUILD_TESTS) 82 83 84 + 130 135 136 137 diff --git a/src/hdf/btree.c b/src/hdf/btree.c index b0b9333..561ca9b 100644 --- a/src/hdf/btree.c +++ b/src/hdf/btree.c @@ -266,7 +266,7 @@ int treeRead(struct READER *reader, struct DATAOBJECT *data) { mylog("elements %d size %d\n", elements, size); - if (elements >= 0x100000 || size > 0x10) + if (elements <=0 || size <=0 || elements >= 0x100000 || size > 0x10) return MYSOFA_INVALID_FORMAT; // LCOV_EXCL_LINE if (!(output = malloc(elements * size))) { return MYSOFA_NO_MEMORY; // LCOV_EXCL_LINE diff --git a/tests/fail-issue-130.sofa b/tests/fail-issue-130.sofa new file mode 100644 index 0000000000000000000000000000000000000000..721e0256efff3f65fa923a063c13417f7825b2ab GIT binary patch literal 104124 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 literal 0 HcmV?d00001 From 0b250b6fa5f4d8768bf03b00a88866d5f3476f56 Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sat, 28 Nov 2020 17:36:14 +0100 Subject: [PATCH 6/6] Fixed issue 132 --- CMakeLists.txt | 1 + src/hdf/fractalhead.c | 3 ++- tests/fail-issue-132.sofa | Bin 0 -> 104124 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 tests/fail-issue-132.sofa diff --git a/CMakeLists.txt b/CMakeLists.txt index a9f2231..94cff52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,6 +78,7 @@ if(BUILD_TESTS) 83 84 130 + 132 135 136 137 diff --git a/src/hdf/fractalhead.c b/src/hdf/fractalhead.c index 9fb3969..c8dd8f3 100644 --- a/src/hdf/fractalhead.c +++ b/src/hdf/fractalhead.c @@ -196,7 +196,8 @@ static int directblockRead(struct READER *reader, struct DATAOBJECT *dataobject, /* TODO: Get definition of this field */ unknown3 = readValue(reader, 2); - assert(unknown3 == 0x0000); + if(unknown3 != 0x0000) + return MYSOFA_INVALID_FORMAT; len = fgetc(reader->fhd); if (len < 0) diff --git a/tests/fail-issue-132.sofa b/tests/fail-issue-132.sofa new file mode 100644 index 0000000000000000000000000000000000000000..b4c72d4339b922fa7e37a007c978f17fa5d12675 GIT binary patch literal 104124 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 b7B+qt)obKNr~3H#^@EM9^MCnSUcCQ5gzgJy literal 0 HcmV?d00001