diff options
Diffstat (limited to 'lib/rpmds.c')
-rw-r--r-- | lib/rpmds.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/rpmds.c b/lib/rpmds.c index 7e6582a09..6f7d674ad 100644 --- a/lib/rpmds.c +++ b/lib/rpmds.c @@ -195,8 +195,9 @@ rpmds rpmdsNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, int flags) rpmtdFreeData(&names); rpmtdFreeData(&evr); - /* freeze the pool to save memory and lock strings in place */ - rpmstrPoolFreeze(ds->pool); + /* freeze the pool to save memory, but only if private pool */ + if (ds->pool != pool) + rpmstrPoolFreeze(ds->pool); } exit: |