Mercurial > hg > orthanc
view Resources/Patches/dcmtk-3.6.0-dulparse-vulnerability.patch @ 4035:cc6ed76bba27
added contextual privateCreators dico to ParsedDicomFile -> this allows you not to have to define a DefaultPrivateCreator. This was tested only in the scope of C-Find requests but should not have impact on other parts since it is not used out of C-Find right now
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Wed, 10 Jun 2020 10:28:01 +0200 |
parents | 6ac6193a7935 |
children |
line wrap: on
line source
diff -urEb dcmtk-3.6.0.orig/dcmnet/libsrc/dulparse.cc dcmtk-3.6.0/dcmnet/libsrc/dulparse.cc --- dcmtk-3.6.0.orig/dcmnet/libsrc/dulparse.cc 2010-12-01 09:26:36.000000000 +0100 +++ dcmtk-3.6.0/dcmnet/libsrc/dulparse.cc 2016-12-02 15:58:49.930540033 +0100 @@ -393,6 +393,8 @@ return cond; buf += length; + if (presentationLength < length) + return EC_MemoryExhausted; presentationLength -= length; DCMNET_TRACE("Successfully parsed Abstract Syntax"); break; @@ -404,12 +406,16 @@ cond = LST_Enqueue(&context->transferSyntaxList, (LST_NODE*)subItem); if (cond.bad()) return cond; buf += length; + if (presentationLength < length) + return EC_MemoryExhausted; presentationLength -= length; DCMNET_TRACE("Successfully parsed Transfer Syntax"); break; default: cond = parseDummy(buf, &length, presentationLength); buf += length; + if (presentationLength < length) + return EC_MemoryExhausted; presentationLength -= length; break; }