1
1
using System ;
2
+ using System . Text ;
2
3
using System . Xml ;
3
4
4
5
namespace SPHDecode . Implementations
5
6
{
6
7
class util
7
8
{
8
- public static bool IsValidXML ( string value )
9
+ public static bool IsValidXML ( byte [ ] data )
9
10
{
10
- if ( string . IsNullOrWhiteSpace ( value ) )
11
+ if ( Object . Equals ( data , null ) )
12
+ {
11
13
return false ;
12
-
13
- if ( value . EndsWith ( "\0 " ) )
14
- value = value . Substring ( 0 , value . Length - 1 ) ;
14
+ }
15
15
16
16
try
17
17
{
18
+ string value = Encoding . UTF8 . GetString ( data ) ;
19
+
20
+ if ( string . IsNullOrWhiteSpace ( value ) )
21
+ return false ;
22
+
23
+ if ( value . EndsWith ( "\0 " ) )
24
+ value = value . Substring ( 0 , value . Length - 1 ) ;
25
+
18
26
XmlDocument xmlDoc = new XmlDocument ( ) ;
19
27
20
28
xmlDoc . LoadXml ( value ) ;
@@ -30,7 +38,8 @@ public static bool IsValidXML(string value)
30
38
31
39
public static byte [ ] removeNullByte ( byte [ ] data )
32
40
{
33
- if ( data [ data . Length - 1 ] . Equals ( 0 ) )
41
+
42
+ if ( Object . Equals ( data , null ) . Equals ( false ) && data [ data . Length - 1 ] . Equals ( 0 ) )
34
43
{
35
44
byte [ ] tmp = new byte [ data . Length - 1 ] ;
36
45
Array . Copy ( data , tmp , data . Length - 1 ) ;
@@ -43,7 +52,7 @@ public static byte[] removeNullByte (byte[] data)
43
52
44
53
public static byte [ ] addNullByte ( byte [ ] data )
45
54
{
46
- if ( data [ data . Length - 1 ] . Equals ( 0 ) . Equals ( false ) )
55
+ if ( Object . Equals ( data , null ) . Equals ( false ) && data [ data . Length - 1 ] . Equals ( 0 ) . Equals ( false ) )
47
56
{
48
57
byte [ ] tmp = data ;
49
58
Array . Resize ( ref tmp , tmp . Length + 1 ) ;
0 commit comments