authorgravatar for suirad@users.noreply.github.comSuirad <suirad@users.noreply.github.com> 2018-11-24 19:21:12-06:00
committergravatar for suirad@users.noreply.github.comSuirad <suirad@users.noreply.github.com> 2018-11-30 02:08:34-06:00
log24592d0216ce4830e9f0dd51a7d2542f1f8afa05
tree664f505d5470d5af265bda3e7a1e624247fbbdf7
parent0abd5520bdc8118369895f67f581d10c847ac139

Add more padding to parse buffer


1 files changed, 7 insertions(+), 4 deletions(-)

std/os/index.zig+7-4
...@@ -15,7 +15,7 @@ test "std.os" {...@@ -15,7 +15,7 @@ test "std.os" {
15 _ = @import("get_user_id.zig");15 _ = @import("get_user_id.zig");
16 _ = @import("linux/index.zig");16 _ = @import("linux/index.zig");
17 _ = @import("path.zig");17 _ = @import("path.zig");
18 _ = @import("test.zig");18 _ = @import("test.zig");
19 _ = @import("time.zig");19 _ = @import("time.zig");
20 _ = @import("windows/index.zig");20 _ = @import("windows/index.zig");
21 _ = @import("get_app_data_dir.zig");21 _ = @import("get_app_data_dir.zig");
...@@ -718,8 +718,9 @@ pub fn getEnvMap(allocator: *Allocator) !BufMap {...@@ -718,8 +718,9 @@ pub fn getEnvMap(allocator: *Allocator) !BufMap {
718 var key: []u8 = undefined;718 var key: []u8 = undefined;
719 var heap_key = false;719 var heap_key = false;
720720
721 // parse the key on the stack if smaller than 'stack_var_len'721 /// revisit needing the "-@sizeof(usize)*2"
722 if (key_slice.len < stack_var_len-@sizeOf(usize)) {722 /// after https://github.com/ziglang/zig/issues/1774
723 if (key_slice.len < stack_var_len-@sizeOf(usize)*2) {
723 var buf = []u8{0} ** stack_var_len;724 var buf = []u8{0} ** stack_var_len;
724 var fallocator = &std.heap.FixedBufferAllocator.init(buf[0..]).allocator;725 var fallocator = &std.heap.FixedBufferAllocator.init(buf[0..]).allocator;
725 key = try std.unicode.utf16leToUtf8Alloc(fallocator, key_slice);726 key = try std.unicode.utf16leToUtf8Alloc(fallocator, key_slice);
...@@ -737,7 +738,9 @@ pub fn getEnvMap(allocator: *Allocator) !BufMap {...@@ -737,7 +738,9 @@ pub fn getEnvMap(allocator: *Allocator) !BufMap {
737 var value: []u8 = undefined;738 var value: []u8 = undefined;
738 var heap_value = false;739 var heap_value = false;
739740
740 if (value_slice.len < stack_var_len-@sizeOf(usize)) {741 /// revisit needing the "-@sizeof(usize)*2"
742 /// after https://github.com/ziglang/zig/issues/1774
743 if (value_slice.len < stack_var_len-@sizeOf(usize)*2) {
741 var buf = []u8{0} ** stack_var_len;744 var buf = []u8{0} ** stack_var_len;
742 var fallocator = &std.heap.FixedBufferAllocator.init(buf[0..]).allocator;745 var fallocator = &std.heap.FixedBufferAllocator.init(buf[0..]).allocator;
743 value = try std.unicode.utf16leToUtf8Alloc(fallocator, value_slice);746 value = try std.unicode.utf16leToUtf8Alloc(fallocator, value_slice);