• Edward Catmur's avatar
    Avoid passing null to memcpy/memcmp/memset · dbc088d1
    Edward Catmur authored
    It is invalid to pass null as a pointer argument to memcpy/memcmp/memset, even if the count argument is zero:
    
    > Where an argument declared as size_t n specifies the length of the array for a
    function, n can have the value zero on a call to that function. Unless explicitly stated
    otherwise in the description of a particular function in this subclause, pointer arguments
    on such a call shall still have valid values [...]
    
    Detected by -fsanitize=nonnull-attribute.
    dbc088d1
Name
Last commit
Last update
..
compat Add new `capnp convert` command with JSON support.
compiler Verify that canonical user input is actually canonical
testdata Add new `capnp convert` command with JSON support.
CMakeLists.txt Add new `capnp convert` command with JSON support.
afl-testcase.c++ GCC insists these must return despite calling context.exit() which has attribute noreturn.
any-test.c++ Merge pull request #454 from dwrensha/pointer-field-equality
any.c++ Fix bug where struct equality could ignore some pointer fields.
any.h Add new `capnp convert` command with JSON support.
arena.c++ Refactor bounds checks to avoid ever creating out-of-bounds pointer values, which is technically UB even if not dereferenced.
arena.h Refactor bounds checks to avoid ever creating out-of-bounds pointer values, which is technically UB even if not dereferenced.
blob-test.c++ Add a testing framework to KJ and rip out gtest.
blob.c++ Change license to MIT.
blob.h Was incorrect operator!= for Text::Builder
bootstrap-test.ekam-rule Level 2 RPC: Define 'Persistent' interface, get rid of 'Save' RPC protocol message.
c++.capnp Change license to MIT.
c++.capnp.c++ Really update bootstraps for previous commit.
c++.capnp.h Set mainlaine version to 0.7-dev.
canonicalize-test.c++ canonicalization: make sure that pad bits of primitive lists are zeroed
capability-test.c++ Restore workaround for GCC 4.9.2.
capability.c++ Fix link errors with -fsanitize=vptr
capability.h Remame Guarded -> Bounded.
capnpc.ekam-rule Fix Ekam build.
common-test.c++ Disable client/server tests in lite-mode
common.h Eliminate deprecation warnings from testing our own deprecated interfaces.
dynamic-capability.c++ Fix build for C++11.
dynamic-test.c++ Loading commit data...
dynamic.c++ Loading commit data...
dynamic.h Loading commit data...
encoding-test.c++ Loading commit data...
endian-fallback-test.c++ Loading commit data...
endian-reverse-test.c++ Loading commit data...
endian-test.c++ Loading commit data...
endian.h Loading commit data...
ez-rpc-test.c++ Loading commit data...
ez-rpc.c++ Loading commit data...
ez-rpc.h Loading commit data...
fuzz-test.c++ Loading commit data...
generated-header-support.h Loading commit data...
layout-test.c++ Loading commit data...
layout.c++ Loading commit data...
layout.h Loading commit data...
list.c++ Loading commit data...
list.h Loading commit data...
membrane-test.c++ Loading commit data...
membrane.c++ Loading commit data...
membrane.h Loading commit data...
message-test.c++ Loading commit data...
message.c++ Loading commit data...
message.h Loading commit data...
orphan-test.c++ Loading commit data...
orphan.h Loading commit data...
persistent.capnp Loading commit data...
persistent.capnp.c++ Loading commit data...
persistent.capnp.h Loading commit data...
pointer-helpers.h Loading commit data...
pretty-print.h Loading commit data...
raw-schema.h Loading commit data...
rpc-prelude.h Loading commit data...
rpc-test.c++ Loading commit data...
rpc-twoparty-test.c++ Loading commit data...
rpc-twoparty.c++ Loading commit data...
rpc-twoparty.capnp Loading commit data...
rpc-twoparty.capnp.c++ Loading commit data...
rpc-twoparty.capnp.h Loading commit data...
rpc-twoparty.h Loading commit data...
rpc.c++ Loading commit data...
rpc.capnp Loading commit data...
rpc.capnp.c++ Loading commit data...
rpc.capnp.h Loading commit data...
rpc.h Loading commit data...
schema-lite.h Loading commit data...
schema-loader-test.c++ Loading commit data...
schema-loader.c++ Loading commit data...
schema-loader.h Loading commit data...
schema-parser-test.c++ Loading commit data...
schema-parser.c++ Loading commit data...
schema-parser.h Loading commit data...
schema-test.c++ Loading commit data...
schema.c++ Loading commit data...
schema.capnp Loading commit data...
schema.capnp.c++ Loading commit data...
schema.capnp.h Loading commit data...
schema.h Loading commit data...
serialize-async-test.c++ Loading commit data...
serialize-async.c++ Loading commit data...
serialize-async.h Loading commit data...
serialize-packed-test.c++ Loading commit data...
serialize-packed.c++ Loading commit data...
serialize-packed.h Loading commit data...
serialize-test.c++ Loading commit data...
serialize-text-test.c++ Loading commit data...
serialize-text.c++ Loading commit data...
serialize-text.h Loading commit data...
serialize.c++ Loading commit data...
serialize.h Loading commit data...
stringify-test.c++ Loading commit data...
stringify.c++ Loading commit data...
test-import.capnp Loading commit data...
test-import2.capnp Loading commit data...
test-util.c++ Loading commit data...
test-util.h Loading commit data...
test.capnp Loading commit data...