On Wed, Feb 24, 2016 at 10:04:40AM +0100, Harald Welte wrote:
On Wed, Feb 24, 2016 at 03:39:35AM +0100, Neels Hofmeyr wrote:
- /* Avoid (small) mem leak: initially, vty_bind_addr is NULL. Whenever
* this gets called, it is set to a strdup. So whenever it is non-NULL,* free it first. See also vty_get_bind_addr() for the NULL default. */- if (vty_bind_addr) {
talloc_free((void*)vty_bind_addr);vty_bind_addr = NULL;- }
free() on NULL is very well-defined and valid, so is talloc_free().
Really? Wasn't aware of that, indeed. Away with the ifs then.
I felt the comment should explain why I treat NULL as some default string -- if I set vty_bind_addr = "127.0.0.1" then I can't free that string, thus NULL. Hmm the comment sucks, yes.
Thanks!
~Neels