separate out the decode malloc functions so qcbor has no relation to malloc at all
diff --git a/Makefile b/Makefile
index 8261660..2ea941d 100644
--- a/Makefile
+++ b/Makefile
@@ -29,10 +29,9 @@
 CFLAGS=-I inc -I test -Os -Wall -Werror -pedantic-errors -Wextra -Wshadow -Wparentheses -xc -std=c99
 
 QCBOR_OBJ=src/UsefulBuf.o src/qcbor_encode.o src/qcbor_decode.o src/ieee754.o 
-QCBOR_OBJ2=$(QCBOR_OBJ) src/qcbor_decode_malloc.o
 
 TEST_OBJ=test/UsefulBuf_Tests.o test/qcbor_encode_tests.o test/qcbor_decode_tests.o test/run_tests.o \
-  test/float_tests.o test/half_to_double_from_rfc7049.o test/qcbor_decode_malloc_tests.o
+  test/float_tests.o test/half_to_double_from_rfc7049.o 
 
 qcbortest: libqcbor.a $(TEST_OBJ) cmd_line_main.o
 	cc -o $@ $^  libqcbor.a
@@ -47,16 +46,14 @@
 src/qcbor_decode.o:	inc/UsefulBuf.h inc/qcbor.h src/ieee754.h
 src/qcbor_encode.o:	inc/UsefulBuf.h inc/qcbor.h src/ieee754.h
 src/iee754.o:	src/ieee754.h 
-src/qcbor_malloc_decode.o:	inc/qcbor.h
 
 test/run_tests.o:	test/UsefulBuf_Tests.h test/float_tests.h test/run_tests.h test/qcbor_encode_tests.h\
-    test/qcbor_decode_tests.h test/qcbor_decode_malloc_tests.h
+    test/qcbor_decode_tests.h 
 test/UsefulBuf_Tests.o:	test/UsefulBuf_Tests.h inc/qcbor.h inc/UsefulBuf.h
 test/qcbor_encode_tests.o:	test/qcbor_encode_tests.h inc/qcbor.h inc/UsefulBuf.h
 test/qcbor_decode_tests.o:	test/qcbor_decode_tests.h inc/qcbor.h inc/UsefulBuf.h
 test/float_tests.o:	inc/qcbor.h inc/UsefulBuf.h test/float_tests.h test/half_to_double_from_rfc7049.h
 test/half_to_double_from_rfc7049.o:	test/half_to_double_from_rfc7049.h
-test/qcbor_decode_malloc_test.o:	test/qcbor_decode_malloc_tests.h
 
 cmd_line_main.o:	test/run_tests.h inc/qcbor.h
 
diff --git a/QCBOR.xcodeproj/project.pbxproj b/QCBOR.xcodeproj/project.pbxproj
index f599141..9c5a03a 100644
--- a/QCBOR.xcodeproj/project.pbxproj
+++ b/QCBOR.xcodeproj/project.pbxproj
@@ -7,11 +7,9 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		0F58EB9C216A388E002FD6D1 /* qcbor_decode_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 0F58EB9B216A388E002FD6D1 /* qcbor_decode_malloc.c */; };
 		0FA9BEB7216CE6CA00BA646B /* qcbor_decode_tests.c in Sources */ = {isa = PBXBuildFile; fileRef = 0FA9BEB5216CE6CA00BA646B /* qcbor_decode_tests.c */; };
 		0FA9BEBA216DC7AD00BA646B /* qcbor_encode_tests.c in Sources */ = {isa = PBXBuildFile; fileRef = 0FA9BEB8216DC7AD00BA646B /* qcbor_encode_tests.c */; };
 		0FA9BEBD216DE31700BA646B /* UsefulBuf_Tests.c in Sources */ = {isa = PBXBuildFile; fileRef = 0FA9BEBC216DE31700BA646B /* UsefulBuf_Tests.c */; };
-		0FA9BF9021788F4A00BA646B /* qcbor_decode_malloc_tests.c in Sources */ = {isa = PBXBuildFile; fileRef = 0FA9BF8F21788F4A00BA646B /* qcbor_decode_malloc_tests.c */; };
 		E73B57592161CA690080D658 /* ieee754.c in Sources */ = {isa = PBXBuildFile; fileRef = E73B57582161CA690080D658 /* ieee754.c */; };
 		E73B575E2161CA7C0080D658 /* float_tests.c in Sources */ = {isa = PBXBuildFile; fileRef = E73B575A2161CA7C0080D658 /* float_tests.c */; };
 		E73B575F2161CA7C0080D658 /* half_to_double_from_rfc7049.c in Sources */ = {isa = PBXBuildFile; fileRef = E73B575D2161CA7C0080D658 /* half_to_double_from_rfc7049.c */; };
@@ -35,15 +33,12 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		0F58EB9B216A388E002FD6D1 /* qcbor_decode_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qcbor_decode_malloc.c; path = src/qcbor_decode_malloc.c; sourceTree = "<group>"; };
 		0FA9BEB5216CE6CA00BA646B /* qcbor_decode_tests.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.c.c; name = qcbor_decode_tests.c; path = test/qcbor_decode_tests.c; sourceTree = "<group>"; tabWidth = 3; };
 		0FA9BEB6216CE6CA00BA646B /* qcbor_decode_tests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qcbor_decode_tests.h; path = test/qcbor_decode_tests.h; sourceTree = "<group>"; };
 		0FA9BEB8216DC7AD00BA646B /* qcbor_encode_tests.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.c.c; name = qcbor_encode_tests.c; path = test/qcbor_encode_tests.c; sourceTree = "<group>"; tabWidth = 3; };
 		0FA9BEB9216DC7AD00BA646B /* qcbor_encode_tests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qcbor_encode_tests.h; path = test/qcbor_encode_tests.h; sourceTree = "<group>"; };
 		0FA9BEBB216DE31700BA646B /* UsefulBuf_Tests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UsefulBuf_Tests.h; path = test/UsefulBuf_Tests.h; sourceTree = "<group>"; };
 		0FA9BEBC216DE31700BA646B /* UsefulBuf_Tests.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.c.c; name = UsefulBuf_Tests.c; path = test/UsefulBuf_Tests.c; sourceTree = "<group>"; tabWidth = 3; };
-		0FA9BF8E21788F4A00BA646B /* qcbor_decode_malloc_tests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = qcbor_decode_malloc_tests.h; path = test/qcbor_decode_malloc_tests.h; sourceTree = "<group>"; };
-		0FA9BF8F21788F4A00BA646B /* qcbor_decode_malloc_tests.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = qcbor_decode_malloc_tests.c; path = test/qcbor_decode_malloc_tests.c; sourceTree = "<group>"; };
 		E73B57572161CA680080D658 /* ieee754.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ieee754.h; path = src/ieee754.h; sourceTree = "<group>"; };
 		E73B57582161CA690080D658 /* ieee754.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ieee754.c; path = src/ieee754.c; sourceTree = "<group>"; };
 		E73B575A2161CA7C0080D658 /* float_tests.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = float_tests.c; path = test/float_tests.c; sourceTree = "<group>"; };
@@ -98,7 +93,6 @@
 			children = (
 				E776E08C214AE07400E67947 /* qcbor_encode.c */,
 				E776E08E214AE07500E67947 /* qcbor_decode.c */,
-				0F58EB9B216A388E002FD6D1 /* qcbor_decode_malloc.c */,
 				E776E08D214AE07500E67947 /* UsefulBuf.c */,
 				E73B57582161CA690080D658 /* ieee754.c */,
 				E73B57572161CA680080D658 /* ieee754.h */,
@@ -130,8 +124,6 @@
 				E73B575C2161CA7C0080D658 /* float_tests.h */,
 				E73B575D2161CA7C0080D658 /* half_to_double_from_rfc7049.c */,
 				E73B575B2161CA7C0080D658 /* half_to_double_from_rfc7049.h */,
-				0FA9BF8E21788F4A00BA646B /* qcbor_decode_malloc_tests.h */,
-				0FA9BF8F21788F4A00BA646B /* qcbor_decode_malloc_tests.c */,
 			);
 			name = test;
 			sourceTree = "<group>";
@@ -192,9 +184,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				0FA9BF9021788F4A00BA646B /* qcbor_decode_malloc_tests.c in Sources */,
 				E776E08F214AE07500E67947 /* qcbor_encode.c in Sources */,
-				0F58EB9C216A388E002FD6D1 /* qcbor_decode_malloc.c in Sources */,
 				E73B57592161CA690080D658 /* ieee754.c in Sources */,
 				E73B575F2161CA7C0080D658 /* half_to_double_from_rfc7049.c in Sources */,
 				E73B57652161F8F80080D658 /* run_tests.c in Sources */,
diff --git a/README.md b/README.md
index ed949dd..2b6abf4 100644
--- a/README.md
+++ b/README.md
@@ -67,8 +67,6 @@
 * src/UsefulBuf.c
 * src/qcbor_encode.c
 * src/qcbor_decode.c
-* src/qcbor_decode_malloc.c (optional; only for indefinite length
-strings you want handled with malloc)
 * src/ieee754.h
 * src/ieee754.c
 
diff --git a/inc/qcbor.h b/inc/qcbor.h
index 6da3913..5d53f8d 100644
--- a/inc/qcbor.h
+++ b/inc/qcbor.h
@@ -43,6 +43,7 @@
 
  when               who             what, where, why
  --------           ----            ---------------------------------------------------
+ 12/18/18           llundblade      Move decode malloc optional code to separate repository
  12/13/18           llundblade      Documentatation improvements
  11/29/18           llundblade      Rework to simpler handling of tags and labels.
  11/9/18            llundblade      Error codes are now enums.
@@ -1687,8 +1688,9 @@
  Typically, this is used if the simple MemPool allocator isn't desired.
 
  A malloc based string allocator can be obtained by calling
- QCBORDecode_MakeMallocStringAllocator(). Pass its result to
- this function.
+ QCBOR_DMalloc(). This function is supply separately from qcbor
+ to keep qcbor smaller and neater. It is in a separate
+ GitHub repository.
 
  You can also write your own allocator. Create the allocate, free,
  and destroy functions and put pointers to them in a QCBORStringAllocator.
@@ -1712,26 +1714,6 @@
 
 
 /**
- @brief This returns a string allocator that uses malloc
-
- @return pointer to string allocator or NULL
-
- Call this to get the string allocator and then configure it into
- the decoder by calling QCBORDecode_SetUpAllocator().  If you
- don't call this, there will be no dependency on malloc
- in QCBOR. Some deployments of QCBOR might even exclude
- the implementation of this function if they don't have
- malloc() at all.
-
- If you do set up this malloc-based string allocator, then
- every string marked as allocated in a QCBORItem must
- freed. They are marked by uDataAlloc and uLabelAlloc
- in QCBORItem.
- */
-QCBORStringAllocator *QCBORDecode_MakeMallocStringAllocator(void);
-
-
-/**
  @brief Gets the next item (integer, byte string, array...) in pre order traversal of CBOR tree
 
  @param[in]  pCtx          The decoder context.
diff --git a/src/qcbor_decode_malloc.c b/src/qcbor_decode_malloc.c
deleted file mode 100644
index fae095a..0000000
--- a/src/qcbor_decode_malloc.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*==============================================================================
-
- Copyright (c) 2018, Laurence Lundblade.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- Copyright (c) 2018, Laurence Lundblade.
- All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-    * The name "Laurence Lundblade" may not be used to
-      endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==============================================================================*/
-
-#include "qcbor.h"
-#include <stdlib.h> // for realloc and free
-
-static UsefulBuf MemMallocAlloc(void *ctx, void *pOldMem, size_t uNewSize)
-{
-    (void)ctx;
-    void *pNewMem = realloc(pOldMem, uNewSize);
-    return (UsefulBuf){pNewMem, uNewSize};
-}
-
-static void MemMallocFree(void *ctx, void *old)
-{
-    (void)ctx;
-    free(old);
-}
-
-static void MemMallocDestructor(void *ctx)
-{
-    free(ctx);
-}
-/*
- Public function. See qcbor.h
- */
-QCBORStringAllocator *QCBORDecode_MakeMallocStringAllocator()
-{
-    QCBORStringAllocator *pAllocaterContext = malloc(sizeof(QCBORStringAllocator));
-    if(pAllocaterContext) {
-        pAllocaterContext->fAllocate   = MemMallocAlloc;
-        pAllocaterContext->fFree       = MemMallocFree;
-        pAllocaterContext->fDestructor = MemMallocDestructor;
-        pAllocaterContext->pAllocaterContext = pAllocaterContext; // So that destructor can work.
-    }
-
-    return pAllocaterContext;
-}
-
-
-
-
diff --git a/test/qcbor_decode_malloc_tests.c b/test/qcbor_decode_malloc_tests.c
deleted file mode 100644
index 903f560..0000000
--- a/test/qcbor_decode_malloc_tests.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*==============================================================================
-
- Copyright (c) 2018, Laurence Lundblade.
- All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-    * The name "Laurence Lundblade" may not be used to
-      endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- ==============================================================================*/
-
-#include "qcbor_decode_malloc_tests.h"
-#include "qcbor.h"
-#include <stdlib.h>
-
-
-/*
- {"first integer": 42,
- "an array of two strings": ["string1", "string2"],
- "map in a map": {
- "bytes 1": h'78787878',
- "bytes 2": h'79797979',
- "another int": 98, "text 2":
- "lies, damn lies and statistics"}
- }
- */
-
-static uint8_t pValidMapEncoded[] = {
-    0xa3, 0x6d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x2a,
-    0x77, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x77, 0x6f, 0x20,
-    0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x82, 0x67, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x31, 0x67,
-    0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x6c, 0x6d, 0x61, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20,
-    0x6d, 0x61, 0x70, 0xa4, 0x67, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x31, 0x44, 0x78, 0x78, 0x78, 0x78,
-    0x67, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x32, 0x44, 0x79, 0x79, 0x79, 0x79, 0x6b, 0x61, 0x6e, 0x6f,
-    0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x18, 0x62, 0x66, 0x74, 0x65, 0x78, 0x74, 0x20, 0x32,
-    0x78, 0x1e, 0x6c, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x64, 0x61, 0x6d, 0x6e, 0x20, 0x6c, 0x69, 0x65, 0x73,
-    0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73 } ;
-
-
-#define UNCONST_POINTER(ptr)    ((void *)(ptr))
-
-
-int MallocAllStringsTest()
-{
-    QCBORDecodeContext DC;
-
-    // Next parse, save pointers to a few strings, destroy original and see all is OK.
-    UsefulBuf_MAKE_STACK_UB(CopyOfStorage, 160);
-    const UsefulBufC CopyOf = UsefulBuf_Copy(CopyOfStorage, UsefulBuf_FROM_BYTE_ARRAY_LITERAL(pValidMapEncoded));
-
-    QCBORDecode_Init(&DC, CopyOf, QCBOR_DECODE_MODE_NORMAL);
-    QCBORStringAllocator *pAlloc = QCBORDecode_MakeMallocStringAllocator();
-    QCBORDecode_SetUpAllocator(&DC, pAlloc, true);
-
-
-    int nCBORError;
-    QCBORItem Item1, Item2, Item3, Item4;
-    if((nCBORError = QCBORDecode_GetNext(&DC, &Item1)))
-        return nCBORError;
-    if(Item1.uDataType != QCBOR_TYPE_MAP ||
-       Item1.val.uCount != 3)
-        return -1;
-    if((nCBORError = QCBORDecode_GetNext(&DC, &Item1)))
-        return nCBORError;
-    if((nCBORError = QCBORDecode_GetNext(&DC, &Item2)))
-        return nCBORError;
-    if((nCBORError = QCBORDecode_GetNext(&DC, &Item3)))
-        return nCBORError;
-    if((nCBORError = QCBORDecode_GetNext(&DC, &Item4)))
-        return nCBORError;
-
-    UsefulBuf_Set(CopyOfStorage, '_');
-
-    if(Item1.uLabelType != QCBOR_TYPE_TEXT_STRING ||
-       Item1.label.string.len != 13 ||
-       Item1.uDataType != QCBOR_TYPE_INT64 ||
-       Item1.val.int64 != 42 ||
-       memcmp(Item1.label.string.ptr, "first integer", 13))
-        return -1;
-
-    if(Item2.uLabelType != QCBOR_TYPE_TEXT_STRING ||
-       Item2.label.string.len != 23 ||
-       memcmp(Item2.label.string.ptr, "an array of two strings", 23) ||
-       Item2.uDataType != QCBOR_TYPE_ARRAY ||
-       Item2.val.uCount != 2)
-        return -1;
-
-    if(Item3.uDataType != QCBOR_TYPE_TEXT_STRING ||
-       Item3.val.string.len != 7 ||
-       memcmp(Item3.val.string.ptr, "string1", 7))
-        return -1;
-
-    if(Item4.uDataType != QCBOR_TYPE_TEXT_STRING ||
-       Item4.val.string.len != 7 ||
-       memcmp(Item4.val.string.ptr, "string2", 7))
-        return -1;
-
-    (void)QCBORDecode_Finish(&DC);
-
-    free(UNCONST_POINTER(Item1.label.string.ptr));
-    free(UNCONST_POINTER(Item2.label.string.ptr));
-    free(UNCONST_POINTER(Item3.val.string.ptr));
-    free(UNCONST_POINTER(Item4.val.string.ptr));
-
-    return 0;
-}
diff --git a/test/qcbor_decode_malloc_tests.h b/test/qcbor_decode_malloc_tests.h
deleted file mode 100644
index c9a7da3..0000000
--- a/test/qcbor_decode_malloc_tests.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*==============================================================================
-
- Copyright (c) 2018, Laurence Lundblade.
- All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-    * The name "Laurence Lundblade" may not be used to
-      endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- ==============================================================================*/
-#ifndef qcbor_decode_malloc_tests_h
-#define qcbor_decode_malloc_tests_h
-
-int MallocAllStringsTest(void);
-
-#endif /* qcbor_decode_malloc_tests_h */
diff --git a/test/run_tests.c b/test/run_tests.c
index 2b0288f..876456f 100644
--- a/test/run_tests.c
+++ b/test/run_tests.c
@@ -41,7 +41,6 @@
 #include "qcbor_decode_tests.h"
 #include "qcbor_encode_tests.h"
 #include "UsefulBuf_Tests.h"
-#include "qcbor_decode_malloc_tests.h"
 
 // Used to test the test runner
 int fail_test()
@@ -116,7 +115,6 @@
 
 test_entry s_tests[] = {
     TEST_ENTRY(ParseMapAsArrayTest),
-    TEST_ENTRY(MallocAllStringsTest),
     TEST_ENTRY(AllocAllStringsTest),
     TEST_ENTRY(IndefiniteLengthNestTest),
     TEST_ENTRY(NestedMapTestIndefLen),