summaryrefslogtreecommitdiff
path: root/rpmdb
diff options
context:
space:
mode:
authorJindrich Novy <jnovy@redhat.com>2008-04-28 14:08:35 +0200
committerJindrich Novy <jnovy@redhat.com>2008-04-28 14:09:29 +0200
commit18bf8b8b8e246f2612ec16f56defbdbe21a45404 (patch)
tree397b60bbc8d8620da9c7f71f4d1d73c88102cb91 /rpmdb
parent98259f8edbe3997f4153cecb4ce681bb64ef71d7 (diff)
downloadrpm-18bf8b8b8e246f2612ec16f56defbdbe21a45404.tar.gz
rpm-18bf8b8b8e246f2612ec16f56defbdbe21a45404.tar.bz2
rpm-18bf8b8b8e246f2612ec16f56defbdbe21a45404.zip
Oops, simplified it a little bit much, fixing
Diffstat (limited to 'rpmdb')
-rw-r--r--rpmdb/rpmdb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/rpmdb/rpmdb.c b/rpmdb/rpmdb.c
index ff4a8680d..3bdb503cc 100644
--- a/rpmdb/rpmdb.c
+++ b/rpmdb/rpmdb.c
@@ -1063,7 +1063,7 @@ static int rpmdbFindByFile(rpmdb db, const char * filespec,
{
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
HFD_t hfd = headerFreeData;
- const char * dirName;
+ char * dirName;
const char * baseName;
rpmTagType bnt, dnt;
fingerPrintCache fpc;
@@ -1080,11 +1080,12 @@ static int rpmdbFindByFile(rpmdb db, const char * filespec,
if (filespec == NULL) return -2;
if ((baseName = strrchr(filespec, '/')) != NULL) {
- dirName = strncpy(xmalloc(len + 1), filespec, baseName - filespec + 1);
+ size_t len = baseName - filespec + 1;
+ dirName = strncpy(xmalloc(len + 1), filespec, len);
dirName[len] = '\0';
baseName++;
} else {
- dirName = "";
+ dirName = xstrdup("");
baseName = filespec;
}
if (baseName == NULL)