]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r344470:
authorDavid Bright <dab@FreeBSD.org>
Thu, 7 Mar 2019 13:10:34 +0000 (13:10 +0000)
committerDavid Bright <dab@FreeBSD.org>
Thu, 7 Mar 2019 13:10:34 +0000 (13:10 +0000)
commit302a50d25385a6f0f7e4a2b23f342ad42ce17537
treef5c72d6c75979cf461ebf01d826b86743316786d
parentdb0a0e89c6997fcb9576dbe21f6a1abc80605a79
MFC r344470:

Fix several Coverity-detected issues in newsyslog.

- CID 1394815, CID 1305673: Dereference before null check - memory was
  allocated and the allocation checked for NULL with a call to errx()
  if it failed. Code below that was guaranteed that the pointer was
  non-NULL, but there was another check for NULL at the exit of the
  function (after the memory had already been referenced). Eliminate
  the useless NULL check.

- CID 1007452: Resource leak - Storage intended to be allocated and
  returned to the caller was never freed. This was the result of a
  regression in the function signature introduced in r208648 (2010)
  (thanks for that find, @cem!). Fixed by altering the function
  signature and passing the allocated memory to the caller as
  intended. This also fixes PR158794.

- CID 1008620: Logically dead code in newsyslog.c - This was a direct
  result of CID 1007452. Since the memory allocated as described there
  was not returned to the caller, a subsequent check for the memory
  having been allocated was dead code. Returning the memory
  re-animates the code that is the subject of this CID.

- CID 1006131: Unused value - in parsing a configuration file, a
  pointer to the end of the last field was saved, but not used after
  that. Rewrite to use the pointer value. This could have been fixed
  by avoiding the assignment altogether, but this solutions more
  closely follows the pattern used in the preceding code.

PR:             158794
Reported by:    Coverity, Ken-ichi EZURA <k.ezura@gmail.com> (PR158794)

Sponsored by: Dell EMC Isilon
usr.sbin/newsyslog/newsyslog.c