From: Michael Schroeder Date: Tue, 10 Dec 2013 15:15:38 +0000 (+0100) Subject: fix double-free if the number of languages is reduced to zero X-Git-Tag: 0.6.4~138 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d66d76bdde309536289f4a755ee327c1e92b2fc4;p=thirdparty%2Flibsolv.git fix double-free if the number of languages is reduced to zero --- diff --git a/src/pool.c b/src/pool.c index 910a9c1b..24a7fb49 100644 --- a/src/pool.c +++ b/src/pool.c @@ -1661,12 +1661,9 @@ pool_set_languages(Pool *pool, const char **languages, int nlanguages) pool->languagecache = solv_free(pool->languagecache); pool->languagecacheother = 0; - if (pool->nlanguages) - { - for (i = 0; i < pool->nlanguages; i++) - free((char *)pool->languages[i]); - free(pool->languages); - } + for (i = 0; i < pool->nlanguages; i++) + free((char *)pool->languages[i]); + pool->languages = solv_free(pool->languages); pool->nlanguages = nlanguages; if (!nlanguages) return;