@@ -8,85 +8,6 @@ import csharp
88/** An unsafe deserializer. */
99abstract class UnsafeDeserializer extends Callable { }
1010
11- /** Unsafe deserialization calls. */
12- class UnsafeDeserializerCallable extends Callable {
13- UnsafeDeserializerCallable ( ) {
14- this instanceof BinaryFormatterDeserializeMethod
15- or
16- this instanceof BinaryFormatterUnsafeDeserializeMethod
17- or
18- this instanceof BinaryFormatterUnsafeDeserializeMethodResponseMethod
19- or
20- this instanceof SoapFormatterDeserializeMethod
21- or
22- this instanceof ObjectStateFormatterDeserializeMethod
23- or
24- this instanceof NetDataContractSerializerDeserializeMethod
25- or
26- this instanceof NetDataContractSerializerReadObjectMethod
27- or
28- this instanceof DataContractJsonSerializerReadObjectMethod
29- or
30- this instanceof JavaScriptSerializerClassDeserializeMethod
31- or
32- this instanceof JavaScriptSerializerClassDeserializeObjectMethod
33- or
34- this instanceof XmlObjectSerializerReadObjectMethod
35- or
36- this instanceof XmlSerializerDeserializeMethod
37- or
38- this instanceof DataContractSerializerReadObjectMethod
39- or
40- this instanceof XmlMessageFormatterReadMethod
41- or
42- this instanceof LosFormatterDeserializeMethod
43- or
44- this instanceof FastJsonClassToObjectMethod
45- or
46- this instanceof ActivityLoadMethod
47- or
48- this instanceof ResourceReaderConstructor
49- or
50- this instanceof BinaryMessageFormatterReadMethod
51- or
52- this instanceof XamlReaderParseMethod
53- or
54- this instanceof XamlReaderLoadMethod
55- or
56- this instanceof XamlReaderLoadAsyncMethod
57- or
58- this instanceof ProxyObjectDecodeValueMethod
59- or
60- this instanceof ProxyObjectDecodeSerializedObjectMethod
61- or
62- this instanceof JaysonConverterToObjectMethod
63- or
64- this instanceof ServiceStackTextJsonSerializerDeserializeFromStringMethod
65- or
66- this instanceof ServiceStackTextJsonSerializerDeserializeFromReaderMethod
67- or
68- this instanceof ServiceStackTextJsonSerializerDeserializeFromStreamMethod
69- or
70- this instanceof ServiceStackTextTypeSerializerDeserializeFromStringMethod
71- or
72- this instanceof ServiceStackTextTypeSerializerDeserializeFromReaderMethod
73- or
74- this instanceof ServiceStackTextTypeSerializerDeserializeFromStreamMethod
75- or
76- this instanceof ServiceStackTextCsvSerializerDeserializeFromStringMethod
77- or
78- this instanceof ServiceStackTextCsvSerializerDeserializeFromReaderMethod
79- or
80- this instanceof ServiceStackTextCsvSerializerDeserializeFromStreamMethod
81- or
82- this instanceof ServiceStackTextXmlSerializerDeserializeFromStringMethod
83- or
84- this instanceof ServiceStackTextXmlSerializerDeserializeFromReaderMethod
85- or
86- this instanceof ServiceStackTextXmlSerializerDeserializeFromStreamMethod
87- }
88- }
89-
9011/** A deserializer exploitable only if user controls the expected object type. */
9112class StrongTypeDeserializer extends Class {
9213 StrongTypeDeserializer ( ) {
@@ -143,12 +64,12 @@ class WeakTypeDeserializer extends Class {
14364 * An unsafe deserializer method that calls any unsafe deserializer on any of
14465 * the parameters.
14566 */
146- private class WrapperDeserializer extends UnsafeDeserializerCallable , UnsafeDeserializer {
67+ private class WrapperDeserializer extends UnsafeDeserializer {
14768 WrapperDeserializer ( ) {
14869 exists ( Call call |
14970 call .getEnclosingCallable ( ) = this and
15071 call .getAnArgument ( ) instanceof ParameterAccess and
151- call .getTarget ( ) instanceof UnsafeDeserializerCallable
72+ call .getTarget ( ) instanceof UnsafeDeserializer
15273 )
15374 }
15475}
0 commit comments