[OpenSIPS-Devel] [OpenSIPS/opensips] 87e901: dialog: Fix a subtle bug in parsing dialog IDs fro...

Liviu Chircu noreply at github.com
Tue Jun 22 14:28:58 EST 2021


  Branch: refs/heads/3.2
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 87e901827fce5eab62215bddcacf786fdb28c1d0
      https://github.com/OpenSIPS/opensips/commit/87e901827fce5eab62215bddcacf786fdb28c1d0
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2021-06-22 (Tue, 22 Jun 2021)

  Changed paths:
    M modules/dialog/dlg_hash.h

  Log Message:
  -----------
  dialog: Fix a subtle bug in parsing dialog IDs from DB

This fixes a rare issue where the dlg_parse_db_id() macro would
right-shift a signed "long long" value, potentially leading to
implementation or compiler defined behavior.

The fact that there is a binary diff after applying this patch proves
that there was an underlying, hard-to-detect issue in there:

-   4b192:	48 c1 f8 20          	sar    $0x20,%rax
+   4b192:	48 c1 e8 20          	shr    $0x20,%rax

Credits to Nick Altmann for providing some hints on this issue!
Related to #2504

(cherry picked from commit 103bdb48ae3f29e0121a180c8b3c53c0d6704df8)





More information about the Devel mailing list