comparison Resources/Patches/dcmtk-3.6.0-dulparse-vulnerability.patch @ 2193:6ac6193a7935

fix a vulnerability in dcmtk 3.6.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 02 Dec 2016 16:04:00 +0100
parents
children
comparison
equal deleted inserted replaced
2191:c6fe92b9adeb 2193:6ac6193a7935
1 diff -urEb dcmtk-3.6.0.orig/dcmnet/libsrc/dulparse.cc dcmtk-3.6.0/dcmnet/libsrc/dulparse.cc
2 --- dcmtk-3.6.0.orig/dcmnet/libsrc/dulparse.cc 2010-12-01 09:26:36.000000000 +0100
3 +++ dcmtk-3.6.0/dcmnet/libsrc/dulparse.cc 2016-12-02 15:58:49.930540033 +0100
4 @@ -393,6 +393,8 @@
5 return cond;
6
7 buf += length;
8 + if (presentationLength < length)
9 + return EC_MemoryExhausted;
10 presentationLength -= length;
11 DCMNET_TRACE("Successfully parsed Abstract Syntax");
12 break;
13 @@ -404,12 +406,16 @@
14 cond = LST_Enqueue(&context->transferSyntaxList, (LST_NODE*)subItem);
15 if (cond.bad()) return cond;
16 buf += length;
17 + if (presentationLength < length)
18 + return EC_MemoryExhausted;
19 presentationLength -= length;
20 DCMNET_TRACE("Successfully parsed Transfer Syntax");
21 break;
22 default:
23 cond = parseDummy(buf, &length, presentationLength);
24 buf += length;
25 + if (presentationLength < length)
26 + return EC_MemoryExhausted;
27 presentationLength -= length;
28 break;
29 }