diff options
| author | lhchavez <lhchavez@lhchavez.com> | 2020-06-27 12:33:32 -0700 |
|---|---|---|
| committer | lhchavez <lhchavez@lhchavez.com> | 2020-06-30 06:25:10 -0700 |
| commit | 3a197ea7ead1bc1b018eb809e92f418a00e5c3f8 (patch) | |
| tree | 782324566a568dc45ff7ee7599eafa48a8f2442e /src/odb.c | |
| parent | d6c62852076005053be9169cb4f3cd9cf9db2aea (diff) | |
| download | libgit2-3a197ea7ead1bc1b018eb809e92f418a00e5c3f8.tar.gz | |
Make the tests pass cleanly with MemorySanitizer
This change:
* Initializes a few variables that were being read before being
initialized.
* Includes https://github.com/madler/zlib/pull/393. As such,
it only works reliably with `-DUSE_BUNDLED_ZLIB=ON`.
Diffstat (limited to 'src/odb.c')
| -rw-r--r-- | src/odb.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1283,12 +1283,13 @@ int git_odb_write( git_oid *oid, git_odb *db, const void *data, size_t len, git_object_t type) { size_t i; - int error = GIT_ERROR; + int error; git_odb_stream *stream; assert(oid && db); - git_odb_hash(oid, data, len, type); + if ((error = git_odb_hash(oid, data, len, type)) < 0) + return error; if (git_oid_is_zero(oid)) return error_null_oid(GIT_EINVALID, "cannot write object"); @@ -1296,7 +1297,7 @@ int git_odb_write( if (git_odb__freshen(db, oid)) return 0; - for (i = 0; i < db->backends.length && error < 0; ++i) { + for (i = 0, error = GIT_ERROR; i < db->backends.length && error < 0; ++i) { backend_internal *internal = git_vector_get(&db->backends, i); git_odb_backend *b = internal->backend; |
