Commit d711f459ae

Andrew Kelley <andrew@ziglang.org>
2023-01-06 00:36:55
std.crypto.tls.Client: fix crash in read()
An abstraction for giving bytes to the read buffer didn't check for an out-of-space condition.
1 parent b3e495a
Changed files (1)
lib
std
crypto
lib/std/crypto/tls/Client.zig
@@ -1207,6 +1207,7 @@ const VecPut = struct {
     /// Returns the amount actually put which is always equal to bytes.len
     /// unless the vectors ran out of space.
     fn put(vp: *VecPut, bytes: []const u8) usize {
+        if (vp.idx >= vp.iovecs.len) return 0;
         var bytes_i: usize = 0;
         while (true) {
             const v = vp.iovecs[vp.idx];