@@ -1171,15 +1171,22 @@ lyb_parse_node_opaq(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, struct
11711171 value , strlen (value ), & dynamic , format , val_prefix_data , LYD_HINT_DATA , & node );
11721172 LY_CHECK_GOTO (ret , cleanup );
11731173
1174+ assert (node );
1175+ LOG_LOCSET (NULL , node , NULL , NULL );
1176+
11741177 /* process children */
11751178 ret = lyb_parse_siblings (lybctx , node , NULL , NULL );
11761179 LY_CHECK_GOTO (ret , cleanup );
11771180
11781181 /* register parsed opaq node */
11791182 lyb_finish_opaq (lybctx , parent , flags , & attr , & node , first_p , parsed );
11801183 assert (!attr && !node );
1184+ LOG_LOCBACK (0 , 1 , 0 , 0 );
11811185
11821186cleanup :
1187+ if (node ) {
1188+ LOG_LOCBACK (0 , 1 , 0 , 0 );
1189+ }
11831190 free (prefix );
11841191 free (module_key );
11851192 free (name );
@@ -1265,9 +1272,13 @@ lyb_parse_node_any(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const st
12651272 goto error ;
12661273 }
12671274
1275+ assert (node );
1276+ LOG_LOCSET (NULL , node , NULL , NULL );
1277+
12681278 /* register parsed anydata node */
12691279 lyb_finish_node (lybctx , parent , flags , & meta , & node , first_p , parsed );
12701280
1281+ LOG_LOCBACK (0 , 1 , 0 , 0 );
12711282 return LY_SUCCESS ;
12721283
12731284error :
@@ -1304,6 +1315,9 @@ lyb_parse_node_inner(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const
13041315 ret = lyd_create_inner (snode , & node );
13051316 LY_CHECK_GOTO (ret , error );
13061317
1318+ assert (node );
1319+ LOG_LOCSET (NULL , node , NULL , NULL );
1320+
13071321 /* process children */
13081322 ret = lyb_parse_siblings (lybctx , node , NULL , NULL );
13091323 LY_CHECK_GOTO (ret , error );
@@ -1320,9 +1334,13 @@ lyb_parse_node_inner(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const
13201334 /* register parsed node */
13211335 lyb_finish_node (lybctx , parent , flags , & meta , & node , first_p , parsed );
13221336
1337+ LOG_LOCBACK (0 , 1 , 0 , 0 );
13231338 return LY_SUCCESS ;
13241339
13251340error :
1341+ if (node ) {
1342+ LOG_LOCBACK (0 , 1 , 0 , 0 );
1343+ }
13261344 lyd_free_meta_siblings (meta );
13271345 lyd_free_tree (node );
13281346 return ret ;
@@ -1355,8 +1373,12 @@ lyb_parse_node_leaf(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const s
13551373 ret = lyb_create_term (lybctx , snode , & node );
13561374 LY_CHECK_GOTO (ret , error );
13571375
1376+ assert (node );
1377+ LOG_LOCSET (NULL , node , NULL , NULL );
1378+
13581379 lyb_finish_node (lybctx , parent , flags , & meta , & node , first_p , parsed );
13591380
1381+ LOG_LOCBACK (0 , 1 , 0 , 0 );
13601382 return LY_SUCCESS ;
13611383
13621384error :
@@ -1416,6 +1438,7 @@ lyb_parse_node_list(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const s
14161438 struct lyd_node * node = NULL ;
14171439 struct lyd_meta * meta = NULL ;
14181440 uint32_t flags ;
1441+ ly_bool log_node = 0 ;
14191442
14201443 /* register a new sibling */
14211444 ret = lyb_read_start_siblings (lybctx -> lybctx );
@@ -1430,6 +1453,10 @@ lyb_parse_node_list(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const s
14301453 ret = lyd_create_inner (snode , & node );
14311454 LY_CHECK_GOTO (ret , error );
14321455
1456+ assert (node );
1457+ LOG_LOCSET (NULL , node , NULL , NULL );
1458+ log_node = 1 ;
1459+
14331460 /* process children */
14341461 ret = lyb_parse_siblings (lybctx , node , NULL , NULL );
14351462 LY_CHECK_GOTO (ret , error );
@@ -1445,6 +1472,9 @@ lyb_parse_node_list(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const s
14451472
14461473 /* register parsed list node */
14471474 lyb_finish_node (lybctx , parent , flags , & meta , & node , first_p , parsed );
1475+
1476+ LOG_LOCBACK (0 , 1 , 0 , 0 );
1477+ log_node = 0 ;
14481478 }
14491479
14501480 /* end the sibling */
@@ -1454,6 +1484,9 @@ lyb_parse_node_list(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, const s
14541484 return LY_SUCCESS ;
14551485
14561486error :
1487+ if (log_node ) {
1488+ LOG_LOCBACK (0 , 1 , 0 , 0 );
1489+ }
14571490 lyd_free_meta_siblings (meta );
14581491 lyd_free_tree (node );
14591492 return ret ;
@@ -1492,7 +1525,7 @@ lyb_parse_node(struct lyd_lyb_ctx *lybctx, struct lyd_node *parent, struct lyd_n
14921525 case LYB_NODE_CHILD :
14931526 case LYB_NODE_OPAQ :
14941527 /* read hash, find the schema node starting from parent schema, if any */
1495- LY_CHECK_GOTO (ret = lyb_parse_schema_hash (lybctx , parent ? parent -> schema : NULL , NULL , & snode ), cleanup );
1528+ LY_CHECK_GOTO (ret = lyb_parse_schema_hash (lybctx , lyd_parser_node_schema ( parent ) , NULL , & snode ), cleanup );
14961529 break ;
14971530 case LYB_NODE_EXT :
14981531 /* ext, read module name */
0 commit comments