@def, I'm curious about your example here: 
[https://github.com/def-/nim-unsorted/blob/master/wcl.nim](https://github.com/def-/nim-unsorted/blob/master/wcl.nim)

When you cast to `string` with 
    
    
    var
      size = 4096
      buf = cast[ptr string](alloc0(size))
    

Doesn't a `string` have length, cap, and data? So the available size for `data` 
must be less than 4096. So wouldn't we read past allocated memory with 
    
    
    size = file.readBuffer(buf, 4096)
    

?

Reply via email to