| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| commit.h | ||
| config.h | ||
| diff.h | ||
| filter.h | ||
| hashsig.h | ||
| index.h | ||
| mempack.h | ||
| odb_backend.h | ||
| openssl.h | ||
| refdb_backend.h | ||
| reflog.h | ||
| refs.h | ||
| repository.h | ||
| stream.h | ||
| transport.h |
The overflow check in `read_reuc` tries to verify if the `git__strtol32` parses an integer bigger than UINT_MAX. The `tmp` variable is casted to an unsigned int for this and then checked for being greater than UINT_MAX, which obviously can never be true. Fix this by instead fixing the `mode` field's size in `struct git_index_reuc_entry` to `uint32_t`. We can now parse the int with `git__strtol64`, which can never return a value bigger than `UINT32_MAX`, and additionally checking if the returned value is smaller than zero. We do not need to handle overflows explicitly here, as `git__strtol64` returns an error when the returned value would overflow.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| commit.h | Loading commit data... | |
| config.h | Loading commit data... | |
| diff.h | Loading commit data... | |
| filter.h | Loading commit data... | |
| hashsig.h | Loading commit data... | |
| index.h | Loading commit data... | |
| mempack.h | Loading commit data... | |
| odb_backend.h | Loading commit data... | |
| openssl.h | Loading commit data... | |
| refdb_backend.h | Loading commit data... | |
| reflog.h | Loading commit data... | |
| refs.h | Loading commit data... | |
| repository.h | Loading commit data... | |
| stream.h | Loading commit data... | |
| transport.h | Loading commit data... |