projects
/
platform
/
upstream
/
libsolv.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e17f872
)
datamatcher_init: play it safe and do a strdup on the match string
author
Michael Schroeder
<mls@suse.de>
Tue, 28 May 2013 12:49:09 +0000
(14:49 +0200)
committer
Michael Schroeder
<mls@suse.de>
Tue, 28 May 2013 12:49:09 +0000
(14:49 +0200)
src/repodata.c
patch
|
blob
|
history
diff --git
a/src/repodata.c
b/src/repodata.c
index
9b4d352
..
4d0a46d
100644
(file)
--- a/
src/repodata.c
+++ b/
src/repodata.c
@@
-1071,7
+1071,7
@@
solvabledata_fetch(Solvable *s, KeyValue *kv, Id keyname)
int
datamatcher_init(Datamatcher *ma, const char *match, int flags)
{
- ma->match = match;
+ ma->match = match
? solv_strdup(match) : 0
;
ma->flags = flags;
ma->error = 0;
ma->matchdata = 0;
@@
-1108,6
+1108,8
@@
datamatcher_init(Datamatcher *ma, const char *match, int flags)
void
datamatcher_free(Datamatcher *ma)
{
+ if (ma->match)
+ ma->match = solv_free((char *)ma->match);
if ((ma->flags & SEARCH_STRINGMASK) == SEARCH_REGEX && ma->matchdata)
{
regfree(ma->matchdata);