summaryrefslogtreecommitdiffstats
path: root/lib/northbound_db.c
diff options
context:
space:
mode:
authorChristian Hopps <chopps@labn.net>2023-02-24 02:23:51 +0100
committerChristian Hopps <chopps@labn.net>2023-02-24 02:59:17 +0100
commit41ef7327e3ebf9f0293c6046190aceb9d44f8414 (patch)
tree76bac8831c49014cdb6edf1698a4b6851623c490 /lib/northbound_db.c
parentMerge pull request #12876 from opensourcerouting/fix/align_show_bgp_with_conf... (diff)
downloadfrr-41ef7327e3ebf9f0293c6046190aceb9d44f8414.tar.xz
frr-41ef7327e3ebf9f0293c6046190aceb9d44f8414.zip
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/northbound_db.c')
-rw-r--r--lib/northbound_db.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/northbound_db.c b/lib/northbound_db.c
index cefcfbcf1..74abcde95 100644
--- a/lib/northbound_db.c
+++ b/lib/northbound_db.c
@@ -73,7 +73,7 @@ int nb_db_transaction_save(const struct nb_transaction *transaction,
if (!ss)
goto exit;
- client_name = nb_client_name(transaction->context->client);
+ client_name = nb_client_name(transaction->context.client);
/*
* Always record configurations in the XML format, save the default
* values too, as this covers the case where defaults may change.