[OpenSIPS-Devel] [OpenSIPS/opensips] d05d40: b2b_logic: don't crash when searching inexistent t...

Vlad Pătrașcu noreply at github.com
Tue Jul 4 14:39:07 UTC 2023


  Branch: refs/heads/3.4
  Home:   https://github.com/OpenSIPS/opensips
  Commit: d05d408b0bf2346769d580d04b413f7d4a277e13
      https://github.com/OpenSIPS/opensips/commit/d05d408b0bf2346769d580d04b413f7d4a277e13
  Author: Vlad Patrascu <vladp at opensips.org>
  Date:   2023-07-04 (Tue, 04 Jul 2023)

  Changed paths:
    M modules/b2b_logic/b2b_logic_ctx.c

  Log Message:
  -----------
  b2b_logic: don't crash when searching inexistent tuple by key

Searching the current tuple by key for accessing the logic context
should not cause a crash. As the hash is not locked or the structure
ref counted, there is a distinct possibility that the tuple cannot
be found anymore.

Related to #3117


  Commit: ebf40c91f9d62f367cddd722f05a1b53b6d30b6a
      https://github.com/OpenSIPS/opensips/commit/ebf40c91f9d62f367cddd722f05a1b53b6d30b6a
  Author: Vlad Patrascu <vladp at opensips.org>
  Date:   2023-07-04 (Tue, 04 Jul 2023)

  Changed paths:
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_logic/b2b_logic_ctx.c
    M modules/b2b_logic/records.c

  Log Message:
  -----------
  b2b_logic: fix some locking issues

Properly access the b2b logic context of the current tuple under lock.
Also, protect the access to the tuple when using the b2bl_get_entity_info()
API function.

Related to #3117


  Commit: 92772e69f36dcc70b2418374d83bf3274b13f104
      https://github.com/OpenSIPS/opensips/commit/92772e69f36dcc70b2418374d83bf3274b13f104
  Author: Vlad Patrascu <vladp at opensips.org>
  Date:   2023-07-04 (Tue, 04 Jul 2023)

  Changed paths:
    M modules/b2b_logic/bridging.c
    M modules/b2b_logic/logic.c

  Log Message:
  -----------
  b2b_logic: properly reset the current tuple in all cases

The global variable used to identify the current tuple in the local_route was
not properly reset in all cases (when retrying a birdge action for example).
This could lead to a failure to identify the current tuple when acessing
the $b2b_logic variables, the b2b logic context etc., even when we're
not in the context of a local_route.


Compare: https://github.com/OpenSIPS/opensips/compare/2b48dea20b61...92772e69f36d



More information about the Devel mailing list