index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | lib/libalpm/db.c | 6 |
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index 01265917..ad50977c 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -48,14 +48,14 @@ pmdb_t *_alpm_db_new(char *root, char* dbpath, char *treename) RET_ERR(PM_ERR_MEMORY, NULL); } - db->path = (char *)malloc(strlen(root)+strlen(dbpath)+1); + db->path = (char *)malloc(strlen(root)+strlen(dbpath)+strlen(treename)+2); if(db->path == NULL) { _alpm_log(PM_LOG_ERROR, "malloc failed: could not allocate %d bytes", - strlen(root)+strlen(dbpath)+1); + strlen(root)+strlen(dbpath)+strlen(treename)+2); FREE(db); RET_ERR(PM_ERR_MEMORY, NULL); } - sprintf(db->path, "%s%s", root, dbpath); + sprintf(db->path, "%s%s/%s", root, dbpath, treename); STRNCPY(db->treename, treename, DB_TREENAME_LEN); |