]> git.ipfire.org Git - thirdparty/libsolv.git/commit
fix dataiterator returning random data in some cases
authorMichael Schroeder <mls@suse.de>
Wed, 6 Mar 2013 14:42:26 +0000 (15:42 +0100)
committerMichael Schroeder <mls@suse.de>
Wed, 6 Mar 2013 14:42:26 +0000 (15:42 +0100)
commit6f2fdbc28eac5f1aa8819242c6506bc3bffb7ebe
tree21b1ccb478f92b1156f9f15a0a20e2010a57aaae
parent466ca05eda763db16f2b366038d899e78e3bfefb
fix dataiterator returning random data in some cases

Fixed two issues:
1) iterating over attributes in with vertical storage could return
junk when some other operation paged in some other data.
2) the returned string could also be in the paged area, or also
in tmpspace if stringification was done. We can't simply alloc
memory as this makes things slower, but in most cases the storage
does not matter. So we offer a new function, dataiterator_strdup(),
that makes the kv.str pointer persistent.

WARNING: this commit is an ABI change as it changes the dataiterator
structure. Sorry.
bindings/solv.i
src/dataiterator.h
src/libsolv.ver
src/repodata.c
src/repodata.h
src/repopack.h