config: let `config_store_data_clear()` handle `value_regex`
commit3b82542dff46339a585c7dde3a40bc543f6212f8
authorMartin Ågren <martin.agren@gmail.com>
Sun, 20 May 2018 10:42:34 +0000 (20 12:42 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 May 2018 04:57:56 +0000 (21 13:57 +0900)
tree5aa5450dbd4c17486917f30436769b9eea4ffbf1
parent2a00e594e5c589d05da250eb622273977eb06ad0
config: let `config_store_data_clear()` handle `value_regex`

Instead of duplicating the logic for clearing up `value_regex`, let
`config_store_data_clear()` handle that.

When `regcomp()` fails, the current code does not call `regfree()`. Make
sure we do the same by immediately invalidating `value_regex`. Some
implementations are able to handle such an extra `regfree()`-call [1],
but from the example in [2], we should not do so. (The language itself
in [2] is not super-clear on this.)

[1] https://www.redhat.com/archives/libvir-list/2013-September/msg00262.html

[2] http://pubs.opengroup.org/onlinepubs/9699919799/functions/regcomp.html

Researched-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.c