Karsten Blees <karsten.blees@xxxxxxxxx> writes: > If for some reason a config string is accessed after config_cache_free() > (which would be a bug), you won't notice if strings are xstrdup()ed (i.e. git > will continue to run with some invalid configuration). This is IMO much worse > than failing with segfault. I disagree. In most case, continuing to use the old config value is the right thing. First, config_cache_free() is called whenever _any_ configuration variable is set. So, setting "core.foo" also invalidates "core.bar" in the cache, while a user of "core.bar" could continue working with the old, unchanged value. Then, allowing the invalidation of a config variable at any time raises a lot of tricky cases (if a command uses a configuration variable twice, do we really want to implement and test the behavior for all combination of old/new values for both usages?). More tricky cases usually means more bugs on the user-side ... When the code really want the freshest value, it's cheap to re-query the config cache anyway. -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html