Signed-off-by: Andrew Gregory <[email protected]>
---
 lib/libalpm/filelist.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c
index f29bb7c..c2ca1ca 100644
--- a/lib/libalpm/filelist.c
+++ b/lib/libalpm/filelist.c
@@ -198,12 +198,15 @@ int _alpm_filelist_resolve(alpm_handle_t *handle, 
alpm_filelist_t *files)
        if(realpath(handle->root, path) == NULL){
                return -1;
        }
-       root_len = strlen(path) + 1;
-       if(root_len >= PATH_MAX) {
+       root_len = strlen(path);
+       if(root_len + 1 >= PATH_MAX) {
                return -1;
        }
-       path[root_len - 1] = '/';
-       path[root_len] = '\0';
+       if(path[root_len - 1] != '/') {
+               path[root_len] = '/';
+               root_len++;
+               path[root_len] = '\0';
+       }
 
        ret = _alpm_filelist_resolve_link(files, &i, path, root_len, 0);
 
-- 
1.8.1.3


Reply via email to