diff --git a/py/stream.c b/py/stream.c
index 921459a8d4f065fcfb7e7cef4cae9c2e507a3e8e..b4ce1081b9e88225a6dacedfe9143e41f4db7feb 100644
--- a/py/stream.c
+++ b/py/stream.c
@@ -289,6 +289,7 @@ STATIC mp_obj_t stream_readall(mp_obj_t self_in) {
     }
 
     vstr.len = total_size;
+    vstr.buf[total_size] = '\0';
     return mp_obj_new_str_from_vstr(STREAM_CONTENT_TYPE(o->type->stream_p), &vstr);
 }