util: serverLog using memory after free 59/13659/3
authorCheyenne Wills <cwills@sinenomine.net>
Tue, 25 Jun 2019 16:40:53 +0000 (10:40 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 5 Jul 2019 09:06:21 +0000 (05:06 -0400)
commitf5f59cd8d336b153e2b762bb7afd16e6ab1b1ee2
tree5b949a6ec8570ef04adbd8fc663f9f8675eb64af
parent1210a8d6d96db2d84595d35ef81ec5d176de05e8
util: serverLog using memory after free

clang's scan-build detected a "use of memory after it is freed"
condition.

The function OpenLogFile frees the variable ourName before creating a
duplicate of the name passed to it.  However there is a call that uses
ourName as the parameter: OpenLogFile(ourName).  This results in freeing
ourName then doing a strdup of the same memory location.

Test the passed parameter and if it's the same as ourName already skip
the free and strdup.

This bug was introduced in commit
    340ec2f79208ee21c3130c4b1c13995947ce426c
    "util: allocate log filename buffers"

Change-Id: I770008b074e0003c7c1532128f8322da811d6fcc
Reviewed-on: https://gerrit.openafs.org/13659
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/util/serverLog.c