From c7ea536351ffe7114992a1903af0de0ead46e8b5 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 7 Feb 2018 20:21:05 +0100 Subject: [PATCH] closes https://github.com/assimp/assimp/issues/1386: fix undefined behaviour in compare function. --- code/BlenderDNA.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/BlenderDNA.cpp b/code/BlenderDNA.cpp index 285cb05b8..1d88f8fa6 100644 --- a/code/BlenderDNA.cpp +++ b/code/BlenderDNA.cpp @@ -58,12 +58,11 @@ using namespace Assimp::Formatter; static bool match4(StreamReaderAny& stream, const char* string) { ai_assert( nullptr != string ); - char tmp[] = { - (const char)(stream).GetI1(), - (const char)(stream).GetI1(), - (const char)(stream).GetI1(), - (const char)(stream).GetI1() - }; + char tmp[4]; + tmp[ 0 ] = ( stream ).GetI1(); + tmp[ 1 ] = ( stream ).GetI1(); + tmp[ 2 ] = ( stream ).GetI1(); + tmp[ 3 ] = ( stream ).GetI1(); return (tmp[0]==string[0] && tmp[1]==string[1] && tmp[2]==string[2] && tmp[3]==string[3]); }