diff options
| author | Christian Hopps <chopps@labn.net> | 2023-02-23 20:23:51 -0500 |
|---|---|---|
| committer | Christian Hopps <chopps@labn.net> | 2023-02-23 20:59:17 -0500 |
| commit | 41ef7327e3ebf9f0293c6046190aceb9d44f8414 (patch) | |
| tree | 76bac8831c49014cdb6edf1698a4b6851623c490 /lib/vty.c | |
| parent | ce8194bcd09bebfd2641ffeeb48ad3e8b527182b (diff) | |
lib: fix init. use of nb_context to be by value not by reference
Pass context argument by value on initialization to be clear that the
value is used/saved but not a pointer to the value. Previously the
northbound code was incorrectly holding a pointer to stack allocated
context structs.
However, the structure definition also had some musings (ifdef'd out
code) and a comment that might be taken to imply that user data could
follow the structure and thus be maintained by the code; it won't; so it
can't; so get rid of the disabled misleading code/text from the
structure definition.
The common use case worked b/c the transaction which cached the pointer
was created and freed inside a single function
call (`nb_condidate_commit`) that executed below the stack allocation.
All other use cases (grpc, confd, sysrepo, and -- coming soon -- mgmtd)
were bugs.
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'lib/vty.c')
| -rw-r--r-- | lib/vty.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -2413,7 +2413,7 @@ static void vty_read_file(struct nb_config *config, FILE *confp) context.client = NB_CLIENT_CLI; context.user = vty; - ret = nb_candidate_commit(&context, vty->candidate_config, true, + ret = nb_candidate_commit(context, vty->candidate_config, true, "Read configuration file", NULL, errmsg, sizeof(errmsg)); if (ret != NB_OK && ret != NB_ERR_NO_CHANGES) |
