From f57cf0e3e357255959d00626bce5c21396e23212 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Fri, 28 Jun 2019 22:11:14 +0100 Subject: [PATCH] libctf: fix spurious error when rolling back to the first snapshot The first ctf_snapshot called after CTF file creation yields a snapshot handle that always yields a spurious ECTF_OVERROLLBACK error ("Attempt to roll back past a ctf_update") on ctf_rollback(), even if ctf_update has never been called. The fix is to start with a ctf_snapshot value higher than the zero value that ctf_snapshot_lu ("last update CTF snapshot value") is initialized to. libctf/ * ctf-create.c (ctf_create): Fix off-by-one error. --- libctf/ChangeLog | 4 ++++ libctf/ctf-create.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libctf/ChangeLog b/libctf/ChangeLog index d07d5dc2e5f..1770f9922dd 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,7 @@ +2019-06-28 Nick Alcock + + * ctf-create.c (ctf_create): Fix off-by-one error. + 2019-06-28 Nick Alcock * ctf-impl.h: (struct ctf_strs_writable): New, non-const version of diff --git a/libctf/ctf-create.c b/libctf/ctf-create.c index 6ab0cf3b88e..24ea114f294 100644 --- a/libctf/ctf-create.c +++ b/libctf/ctf-create.c @@ -82,7 +82,7 @@ ctf_create (int *errp) fp->ctf_dvhash = dvhash; fp->ctf_dtnextid = 1; fp->ctf_dtoldid = 0; - fp->ctf_snapshots = 0; + fp->ctf_snapshots = 1; fp->ctf_snapshot_lu = 0; return fp; -- 2.30.2