Sean McArthur 3b26572876 refactor(ffi): check pointer arguments for NULL (#2624)
This changes all the extern C functions in `hyper::ffi` to check passed
pointer arguments for being `NULL` before trying to use them. Before, we
would just assume the programmer had passed a good pointer, which could
result in segmentation faults. Now:

- In debug builds, it will assert they aren't null, and so if they are,
  a message identifying the argument name will be printed and then the
  process will crash.
- In release builds, it will still check for null, but if found, it will
  return early, with a return value indicating failure if the return type
  allows (such as returning NULL, or `HYPERE_INVALID_ARG`).

Closes #2620
2021-08-18 14:15:14 -07:00
2021-01-08 10:25:53 -08:00
2021-07-21 15:06:07 -07:00
2021-07-07 11:49:24 -07:00

hyper

crates.io Released API docs MIT licensed CI Discord chat

A fast and correct HTTP implementation for Rust.

  • HTTP/1 and HTTP/2
  • Asynchronous design
  • Leading in performance
  • Tested and correct
  • Extensive production use
  • Client and Server APIs

Get started by looking over the guides.

"Low-level"

hyper is a relatively low-level library, meant to be a building block for libraries and applications.

If you are looking for a convenient HTTP client, then you may wish to consider reqwest. If you are looking for a convenient HTTP server, then you may wish to consider warp. Both are built on top of this library.

Contributing

To get involved, take a look at CONTRIBUTING.

If you prefer chatting, there is an active community in the Discord server.

License

hyper is provided under the MIT license. See LICENSE.

Description
No description provided
Readme MIT 6.5 MiB
Languages
Rust 94.5%
C 5.2%
Shell 0.3%