Chunk.deserialize fails if the given buffer is empty.
[ruby-eet.git] / lib / eet.rb
index fa9f090e851672f5430c6dacb2731824c5f35f78..8a2893ef3b6b631cd44119684879bc0a7fa99dbb 100644 (file)
@@ -1,5 +1,5 @@
 #--
-# $Id: eet.rb 44 2005-05-25 19:51:25Z tilman $
+# $Id: eet.rb 46 2005-05-25 20:10:37Z tilman $
 #
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
@@ -167,7 +167,10 @@ module Eet
                end
 
                def Stream.deserialize(data)
-                       data = data.to_str.dup
+                       if data.to_str.empty?
+                               raise(ArgumentError, "buffer is empty")
+                       end
+
                        s = Stream.new
                        offset = 0
 
@@ -202,6 +205,10 @@ module Eet
                end
 
                def Chunk.deserialize(data)
+                       if data.to_str.empty?
+                               raise(ArgumentError, "buffer is empty")
+                       end
+
                        if data.length < 8 || data[0, 4] != "CHnK"
                                raise(ChunkError, "invalid data")
                        end