Harvey Tuch
5f3cfe960f
Fix read from uninitialized memory bug in GrpcBufferWriter.
...
This commit fixes an issue in which the following sequence of operations
leads to use of uninitialized memory:
1. Caller invokes GrpcBufferWriter::Next(), and then makes use of 8191
bytes in the returned buffer (which is 8192 bytes in size).
2. Caller then returns the unused single byte via
GrpcBufferWriter::BackUp(). This method invokes
g_core_codegen_interface->grpc_slice_split_tail(), which causes
backup_slice_ to be a grpc_slice with one byte.
3. At the next invocation of GrpcBufferWriter::Next(), a reference to
the single byte grpc_slice is returned to the caller.
The problem here is that the returned reference is to the inlined buffer
in the grpc_slice, which is resident in slice_, not the location of the
buffer inside slice_buffer_ after
g_core_codegen_interface->grpc_slice_buffer_add() in
GrpcBufferWriter::Next(). As a result, any data the caller writes to the
returned void* data is lost.
The solution is to avoid inlined backup slices.
8 years ago
Craig Tiller
78e6451dae
Add a hook to disable BDP probing
8 years ago
Mark D. Roth
448c1f002c
Move parameters for all grpc_op types into their own sub-structs.
8 years ago
Craig Tiller
7c70b6c144
Revert "Revert "Metadata handling rewrite""
...
This reverts commit 5e01e2ac97
.
8 years ago
Craig Tiller
5e01e2ac97
Revert "Metadata handling rewrite"
8 years ago
Craig Tiller
7fa7d6817e
Fix core banned functions
8 years ago
Craig Tiller
ab4796ec6d
Make move_first linear
8 years ago
Craig Tiller
1d77059e4b
Fix integer overflow
8 years ago
Craig Tiller
62f28bfcf0
Remove double-checking of max-message-size in C++ layers
8 years ago
Mark D. Roth
f0e17783ae
Add ChannelArguments methods for setting max send/recv message size.
8 years ago
Craig Tiller
81eceb31cc
Remove bogus assert
8 years ago
yang-g
8ad258a450
Add missing include for GPRAPI
8 years ago
Mario Emmenlauer
39fe75eed3
include/grpc/impl/codegen/port_platform.h: disable warn_unused_result on MINGW32 platform
8 years ago
Mark D. Roth
fd9f53a20f
clang-format
8 years ago
Craig Tiller
e519a03a1f
Small improvements to generated documentation
8 years ago
Craig Tiller
4e6247a23c
Fix sequential write buffering
8 years ago
Craig Tiller
1b36a7d4ed
Ping rate limiting for HTTP2
8 years ago
Craig Tiller
801c6cc548
Fix some NULL usage
8 years ago
David G. Quintas
07383e7e28
Revert "Revert "Reduce memory bloat (each server cq is very expensive)""
8 years ago
Sree Kuchibhotla
4aecf49405
Improve grpc_slice_buffer's grpc_slice_buffer_take_first function. This
...
required modifying grpc_slice_buffer structure
8 years ago
Vijay Pai
0e3f1f1e53
Support compat with old generated PB files
8 years ago
Craig Tiller
18b66a0df6
Revert "Reduce memory bloat (each server cq is very expensive)"
8 years ago
Mark D. Roth
be5e3ca505
Move internal channel arg definitions out of public headers.
8 years ago
Mark D. Roth
201db7d613
Eliminate redundant places where server name was stored.
8 years ago
Mark D. Roth
4d2ea02129
Revert "Revert "Revert "Revert "Remove redundant includes from string.h and tmpfile.h""""
8 years ago
Craig Tiller
30268a99e0
Revert "Revert "Revert "Remove redundant includes from string.h and tmpfile.h"""
8 years ago
Craig Tiller
b4aa70ea94
Offer grpc_slice_to_c_string to simplify some code
8 years ago
Craig Tiller
78bc54e7d9
Fix stack corruption
8 years ago
Craig Tiller
cadabdf1f3
Fix include guards
8 years ago
Craig Tiller
f658bf0e1b
Start resolving memory issues in C++ metadata
8 years ago
Mark D. Roth
170a073b26
clang-format
8 years ago
Vijay Pai
6510d47c81
gpr_atm isn't automatically initialized to 0. Thanks Obama.
8 years ago
Vijay Pai
bf24dd9e51
clang-format
8 years ago
Vijay Pai
cbe1599250
Track requests that could cause other requests to be created, and don't do
...
a real core shutdown of a CQ until such requests are done
8 years ago
Mark D. Roth
2d317fbc57
Revert "Revert "Remove redundant includes from string.h and tmpfile.h""
8 years ago
Mark D. Roth
4eec0041f5
Revert "Remove redundant includes from string.h and tmpfile.h"
8 years ago
Sree Kuchibhotla
f989469fe3
Temporarily enable gpr_slice_* functions to not break api compatibility
8 years ago
Nathaniel Manista
c00d0f79aa
Clarify grpc_call_start_batch error semantics
8 years ago
Sree Kuchibhotla
762ce2744c
Reduce memory bloat (each server cq is very expensive in C-core layer)
8 years ago
Craig Tiller
43a5169292
Declare sub_refcnt field
8 years ago
Craig Tiller
3b05e1da91
Move from cmp --> eq, and provide a good implementation for interning
8 years ago
Craig Tiller
73ee7dc559
C++ compiles
8 years ago
Craig Tiller
cca7589333
Start moving C++ to slice interfaces
8 years ago
Craig Tiller
9ecadce1e0
Get identity law testing right
8 years ago
yang-g
8706c6ec5d
add todo
8 years ago
Mark D. Roth
86e905901f
Avoid confusion between server name and URI.
8 years ago
Mark D. Roth
21d4b2d930
Pass client channel factory and server name via channel args.
8 years ago
Craig Tiller
1ad51e021f
Fix static metadata
8 years ago
yang-g
e46de3d416
Expose message limit constants so that users can reference them
8 years ago
Craig Tiller
7d4116fa44
All core tests compile without grpc_mdstr
8 years ago