]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: fix setting temporary log options for libyang
authorIgor Ryzhov <iryzhov@nfware.com>
Mon, 26 Feb 2024 09:30:57 +0000 (11:30 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Mon, 26 Feb 2024 15:27:27 +0000 (15:27 +0000)
By calling `ly_log_options` with `LY_LOSTORE`, the current code
effectively disables libyang logging and never enables it back. The call
is done to get the current logging options, but we don't really need
that. When looking for a schema node, we don't want neither to log nor
to store the error, so simply set the temporary options to 0.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
(cherry picked from commit 3cd6ddaec6fd41ac84ef23595ffc7e3d18334839)

lib/northbound.c

index f9f9449ea66d200676504b246adb7c4772299edd..25ea658bc43cf35679c75d5021eb752b0faa9012 100644 (file)
@@ -157,7 +157,7 @@ void nb_nodes_delete(void)
 struct nb_node *nb_node_find(const char *path)
 {
        const struct lysc_node *snode;
-       uint32_t llopts;
+       uint32_t llopts = 0;
 
        /*
         * Use libyang to find the schema node associated to the path and get
@@ -165,8 +165,6 @@ struct nb_node *nb_node_find(const char *path)
         * disable logging temporarily to avoid libyang from logging an error
         * message when the node is not found.
         */
-       llopts = ly_log_options(LY_LOSTORE);
-       llopts &= ~LY_LOLOG;
        ly_temp_log_options(&llopts);
 
        snode = yang_find_snode(ly_native_ctx, path, 0);