[pacman-dev] [PATCH 5/7] fix off-by-one error in _alpm_filelist_resolve
Andrew Gregory
andrew.gregory.8 at gmail.com
Wed Feb 13 18:54:31 EST 2013
Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---
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
More information about the pacman-dev
mailing list