mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-22 17:35:55 +03:00
repo: Correctly initialize refcount of temporary transaction
Previously, the reference count was left uninitialized as a result of bypassing the constructor, and the intended abort-on-error usually wouldn't have happened. Fixes:8a9737a
"repo/private: move OstreeRepoAutoTransaction to a boxed type" Resolves: https://github.com/ostreedev/ostree/issues/2592 Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit71304e854c
)
This commit is contained in:
parent
4a997ae086
commit
51c7960bea
@ -1688,10 +1688,10 @@ ostree_repo_prepare_transaction (OstreeRepo *self,
|
||||
g_debug ("Preparing transaction in repository %p", self);
|
||||
|
||||
/* Set up to abort the transaction if we return early from this function.
|
||||
* This needs to be manually built here due to a circular dependency. */
|
||||
g_autoptr(OstreeRepoAutoTransaction) txn = g_malloc(sizeof(OstreeRepoAutoTransaction));
|
||||
* We can't call _ostree_repo_auto_transaction_start() here, because that
|
||||
* would be a circular dependency; use the lower-level version instead. */
|
||||
g_autoptr(OstreeRepoAutoTransaction) txn = _ostree_repo_auto_transaction_new (self);
|
||||
g_assert (txn != NULL);
|
||||
txn->repo = self;
|
||||
|
||||
memset (&self->txn.stats, 0, sizeof (OstreeRepoTransactionStats));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user