[OpenSIPS-Devel] [OpenSIPS/opensips] 85360f: qrouting: Fix Coverity paranoid warning

Liviu Chircu noreply at github.com
Fri Jul 17 13:21:07 EST 2020


  Branch: refs/heads/3.1
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 85360f98a3983275d289e1aa54e24ab9254dd29d
      https://github.com/OpenSIPS/opensips/commit/85360f98a3983275d289e1aa54e24ab9254dd29d
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/qrouting/qr_load.c

  Log Message:
  -----------
  qrouting: Fix Coverity paranoid warning

Even if the buffer can never be overflown here thanks to the CHAR(64) DB
schema restriction, if the user were to change the DB schema by hand and
extend the column to 65+ chars, it would crash OpenSIPS, so the warning
makes some sense.

Fixes CID #211387

(cherry picked from commit 70d2e8f10a96f751d0c8245c5f9583dc4e20804e)


  Commit: cd60900c06c7d9a62fc8dd2a6dc1ec79255316f0
      https://github.com/OpenSIPS/opensips/commit/cd60900c06c7d9a62fc8dd2a6dc1ec79255316f0
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M lib/reg/lookup.c

  Log Message:
  -----------
  mid_registrar: Fix uninitialized variable

Fixes CID #211376

(cherry picked from commit 96432213b694f3887419e7872f6fe948a1c19209)


  Commit: 694df95b5ae40f932c5f4d430e317d7bfd859dc8
      https://github.com/OpenSIPS/opensips/commit/694df95b5ae40f932c5f4d430e317d7bfd859dc8
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M lib/reg/lookup.c
    M modules/mid_registrar/lookup.c

  Log Message:
  -----------
  mid_registrar: Simplify lookup() code

(cherry picked from commit eb018ad58740f240ac22e19b8bd06f5fe071925f)


  Commit: 17b7ce4158b53bfaa52af95a5b7641c634b289d6
      https://github.com/OpenSIPS/opensips/commit/17b7ce4158b53bfaa52af95a5b7641c634b289d6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M ut.h

  Log Message:
  -----------
  stop_expire_timer(): Fix uninitialized memory access

The severity is low, however, since uninitialized integer math is still
safe (from a stability PoV), with the resulting value being ignored
anyway.

Fixes CID #199911, #199922, #199926, #199966, #199987, #199990, #200085,
 #200054.

(cherry picked from commit c6682f208c6da5ce1517737e52835aafc5b3f2fa)


  Commit: 69efd2a72213c9fa1c669adc09cb09360087041b
      https://github.com/OpenSIPS/opensips/commit/69efd2a72213c9fa1c669adc09cb09360087041b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  mid_registrar: Fix uninitialized variable

Although the severity is low, this code path could be triggered by a
bogus downstream registrar which returns a 200 OK without the Contact
advertised by the mid-registrar in its REGISTER request.

Fixes CID #200051

(cherry picked from commit a4684d54f1d32088936a345afa36cb66bbf53727)


  Commit: 212cda54aae70d5b310754639ca573e8a3f1a617
      https://github.com/OpenSIPS/opensips/commit/212cda54aae70d5b310754639ca573e8a3f1a617
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M cfg_pp.c

  Log Message:
  -----------
  preprocessor: Fix memleak on preprocessing failure

Fixes CID #200047

(cherry picked from commit 36a361d63cc77141314acd84551a5340b2c3db42)


  Commit: 93a4e6d3314ab9f808a29b74806d22b0baf52e8a
      https://github.com/OpenSIPS/opensips/commit/93a4e6d3314ab9f808a29b74806d22b0baf52e8a
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/usrloc/dlist.c

  Log Message:
  -----------
  usrloc: Fix unitialized variable

CID #199971

(cherry picked from commit 5f03b8556bf241336795ba8ca517c982d732dd4a)


  Commit: dcd192886eab49fa0791e0e7ad2189b4943255ff
      https://github.com/OpenSIPS/opensips/commit/dcd192886eab49fa0791e0e7ad2189b4943255ff
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/freeswitch/esl/src/esl.c

  Log Message:
  -----------
  freeswitch: Fix a rare memleak

CID #164007

(cherry picked from commit 2a9824cdc955eb783e08f88906b70d337dbdebe9)


  Commit: 2fd7f2ac9db449c9bd3cb567a0a70b0d9cb5348c
      https://github.com/OpenSIPS/opensips/commit/2fd7f2ac9db449c9bd3cb567a0a70b0d9cb5348c
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/qrouting/qr_stats.c

  Log Message:
  -----------
  qrouting: Avoid unnecessary NULL check

CID #211396

(cherry picked from commit cfb4967ecf97169224fbacbab50ddcc845169ad2)


  Commit: cc5bc2eda90b67bd490218619b3d9af511741b5e
      https://github.com/OpenSIPS/opensips/commit/cc5bc2eda90b67bd490218619b3d9af511741b5e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN support: Fix possible NULL dereference

CID #211389

(cherry picked from commit a5fbad573e30d4400c8509bb4356c7b19d6e376d)


  Commit: 79f26ff4b7b2c9aa5e516e8edce6238420dbd9a2
      https://github.com/OpenSIPS/opensips/commit/79f26ff4b7b2c9aa5e516e8edce6238420dbd9a2
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN support: Fix NULL pointer dereference

Severity: high

CID #211371

(cherry picked from commit 8cec5cbc59fe06017eab3a96496489cf50bb1604)


  Commit: 2149d2924321d94c4281df2799b705cf6d474112
      https://github.com/OpenSIPS/opensips/commit/2149d2924321d94c4281df2799b705cf6d474112
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M lib/reg/pn.c

  Log Message:
  -----------
  SIP PN Support: Fix a rare NULL pointer dereference

This fixes a possible crash when using a non-standard list of
PN-matching parameters (e.g. something different than
    [provider, prid, param]).

CID #211368

(cherry picked from commit c9753a0505b936f7d423f839a550a43bc73c7f2a)


  Commit: c9787307b026b903171c299daa7c79f5375e159d
      https://github.com/OpenSIPS/opensips/commit/c9787307b026b903171c299daa7c79f5375e159d
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M sr_module_deps.c

  Log Message:
  -----------
  Module deps: Fix missing va_end() during error handling

CID #211355

(cherry picked from commit 3263b27015e243d85a11375a3d60aca8ffc8472d)


  Commit: 17705530bae7fe5b108fff47490c8ff7195eec62
      https://github.com/OpenSIPS/opensips/commit/17705530bae7fe5b108fff47490c8ff7195eec62
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M mem/hp_malloc_dyn.h

  Log Message:
  -----------
  HP_MALLOC status logging: Fix incorrect bitwise shift

CID #200101

(cherry picked from commit fcdd224a5c8638a28e3be10e4028c27aa404a637)


  Commit: 189150fbf442ba05b59b94c33d475ce717787c5e
      https://github.com/OpenSIPS/opensips/commit/189150fbf442ba05b59b94c33d475ce717787c5e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M statistics.h

  Log Message:
  -----------
  statistics macros: Avoid unsigned integer comparisons against 0

CID #199900, #199913, #199923, #199934, #199941, #199964, #199998,
 #200032, #200049, #200074, #200096.

(cherry picked from commit 39fc05ec0ff2122dd79ec5582ac020c999c11c30)


  Commit: 8b97c4074fad75ca97a01ca313081a7ccb2257c0
      https://github.com/OpenSIPS/opensips/commit/8b97c4074fad75ca97a01ca313081a7ccb2257c0
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  mid_registrar: Remove unnecessary check

CID #199954

(cherry picked from commit 7a638403ee648ba629fd1f6f4a17bdea091da16d)


  Commit: 93aa39ec45fc4f4d10790234a21dc7f9fe037768
      https://github.com/OpenSIPS/opensips/commit/93aa39ec45fc4f4d10790234a21dc7f9fe037768
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/usrloc/ucontact.c

  Log Message:
  -----------
  usrloc: Remove unnecessary NULL check

CID #200086

(cherry picked from commit f305fa88f9341f37eb95bf88980e974723b57e94)


  Commit: 1eed0969bf9247dac9dbcc435db5b530fcfb2491
      https://github.com/OpenSIPS/opensips/commit/1eed0969bf9247dac9dbcc435db5b530fcfb2491
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  mid_registrar: Add paranoid safety check

This extra check doesn't fix anything right now, but at least it makes
Coverity happy.

CID #200020

(cherry picked from commit 2e60b50228a80c1e9629e43670a8cbcc5f71839c)


  Commit: 574f98130834eec07f0699f242ad6d9c90032afc
      https://github.com/OpenSIPS/opensips/commit/574f98130834eec07f0699f242ad6d9c90032afc
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M net/net_tcp.c
    M sr_module.c

  Log Message:
  -----------
  mpath: Fix possible buffer underrun

Also attempt to mask the false positive in CID #200070.

CID #211377

(cherry picked from commit 7f244f17a54833c6bb3f9ea58aa4afd855774ce1)


  Commit: 72f8888f210b064fd343b26b0d9b7418bf41455b
      https://github.com/OpenSIPS/opensips/commit/72f8888f210b064fd343b26b0d9b7418bf41455b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/drouting/routing.c

  Log Message:
  -----------
  drouting: Always NULL-terminate the GW buffer

While this doesn't immediately fix any bug, it should make Coverity
happy.

CID #200062

(cherry picked from commit df2ce6d826587f1130c5928b0815bd10ed2957f1)


  Commit: 1cdea214b089fc2a929a6d887eeb2b85a23cb758
      https://github.com/OpenSIPS/opensips/commit/1cdea214b089fc2a929a6d887eeb2b85a23cb758
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/exec/exec.c

  Log Message:
  -----------
  exec: Always NULL-terminate the read buffer

CID #200052

(cherry picked from commit 0230f9c9032bd01661c6c7c197965528507e3f2c)


  Commit: b1e70c789d45a5c6fd27fd3f55f655ef5d1992b4
      https://github.com/OpenSIPS/opensips/commit/b1e70c789d45a5c6fd27fd3f55f655ef5d1992b4
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/mi_datagram/datagram_fnc.c
    M modules/mi_datagram/mi_datagram.c

  Log Message:
  -----------
  mi_datagram: Minor improvements

    * always NULL-terminate the read buffer (CID #200029).  Doesn't fix
      any known bug, just a good practice
    * avoid redundant memset(65535) on each read
    * improve startup error log

(cherry picked from commit 0eee2119991270bd23a6279e6b1a825586f2d227)


  Commit: 061ab9bc979468baf6ee0a30a767d7c0cbcebdd9
      https://github.com/OpenSIPS/opensips/commit/061ab9bc979468baf6ee0a30a767d7c0cbcebdd9
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M net/proto_udp/proto_udp.c

  Log Message:
  -----------
  proto_udp: Supress Coverity false positive

CID #200029

(cherry picked from commit 33a0d617d4bc485e66a975d075cafb79a125de6d)


  Commit: c7b3a0febca7d34d956581783d93a0c84c825029
      https://github.com/OpenSIPS/opensips/commit/c7b3a0febca7d34d956581783d93a0c84c825029
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/db_text/dbt_res.c
    M modules/db_text/dbt_tb.c

  Log Message:
  -----------
  db_text: Complete 65b18091

(cherry picked from commit 673cf7f9eb3e5bd3a8da805483885e049bddc873)


  Commit: 9ae42fd2484faa5a5f5c84ee920a7c52f78f98f9
      https://github.com/OpenSIPS/opensips/commit/9ae42fd2484faa5a5f5c84ee920a7c52f78f98f9
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/registrar/save.c

  Log Message:
  -----------
  registrar: Fix possible crash with no Contact

CID #211379

(cherry picked from commit 58fa56c6eda2b4fe067bfe7a83b6a8aaba13bacb)


  Commit: be8f7fe4aaa388aa5a56d315281c58feef91bb51
      https://github.com/OpenSIPS/opensips/commit/be8f7fe4aaa388aa5a56d315281c58feef91bb51
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/tracer/tracer.c

  Log Message:
  -----------
  tracer: Fix unchecked return codes

CID #200092, #200088

(cherry picked from commit 82dfe4c408e614750c819e0a566a7312b96ec02a)


  Commit: 17f8bdd00e6c098234709efdc8ac689b32c37788
      https://github.com/OpenSIPS/opensips/commit/17f8bdd00e6c098234709efdc8ac689b32c37788
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/rest_client/rest_methods.c

  Log Message:
  -----------
  rest_client: Mask Coverity false positive

It is fine to push a stack pointer into libcurl during a sync transfer,
since the control flow never leaves the original function before it is
completely done with the library.

CID #200078

(cherry picked from commit 374fde456c1f713a3cea29c90ccfb3d3d4de8ede)


  Commit: bd8237de723689ef0463f6d5517c52ecf02b0743
      https://github.com/OpenSIPS/opensips/commit/bd8237de723689ef0463f6d5517c52ecf02b0743
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M modules/tracer/tracer.c

  Log Message:
  -----------
  tracer: Fix possible crash on NULL context

CID #200069

(cherry picked from commit 1b4fcc06af59e479547d348935300949f0dfb70d)


Compare: https://github.com/OpenSIPS/opensips/compare/986f0712adcb...bd8237de7236



More information about the Devel mailing list