GetBytes should return the data length if target buffer is null
[mono.git] / mcs / class / System.Data / System.Data.ProviderBase.jvm / AbstractDataReader.cs
index 7a9f2b9d129c76315223fdf1c36e40bdaa97f684..72985ba0cd55a31ed0c12ef0031f51f3fb89c1c1 100644 (file)
@@ -440,6 +440,10 @@ namespace System.Data.Common
                {\r
                        FillReaderCache(columnIndex);\r
                        byte[] byteArr = ((BytesReaderCacheContainer)ReaderCache[columnIndex]).GetBytes();\r
+                       if (byteArr == null)\r
+                               return 0;\r
+                       if (buffer == null)\r
+                               return byteArr.LongLength;\r
                        long actualLength = ((dataIndex + length) >= byteArr.Length) ? (byteArr.Length - dataIndex) : length;\r
                        Array.Copy(byteArr,dataIndex,buffer,bufferIndex,actualLength);\r
                        return actualLength;\r