From d8d63e80996714d1ffadcaff785352842dfef44e Mon Sep 17 00:00:00 2001 From: Simon McVittie <smcv@collabora.com> Date: Wed, 13 Dec 2017 19:04:32 +0000 Subject: [PATCH] resolve_link: Use build_filename This avoids reinventing it. Signed-off-by: Simon McVittie <smcv@collabora.com> --- utils/utils.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/utils/utils.c b/utils/utils.c index 296c1f196..38ec3fad6 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -228,30 +228,17 @@ int resolve_link(const char *prefix, char *path) if( rl[0] == '/' ) { - const int pl = strlen( prefix ); - - if( pl + rv > PATH_MAX ) + if( build_filename( path, PATH_MAX, prefix, rl, NULL ) >= PATH_MAX ) { - rv = -1; goto out; } - - safe_strncpy( path, prefix, PATH_MAX ); - safe_strncpy( path + pl, rl, PATH_MAX - pl ); } else { - const int pl = strlen( dir ); - - if( pl + rv + 1 > PATH_MAX ) + if( build_filename( path, PATH_MAX, dir, rl, NULL ) >= PATH_MAX ) { - rv = -1; goto out; } - - safe_strncpy( path, dir, PATH_MAX ); - path[ pl ] = '/'; - safe_strncpy( path + pl + 1, rl, PATH_MAX - pl - 1 ); } } -- GitLab