aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Es <[email protected]>2018-07-28 09:08:01 +0300
committerGitHub <[email protected]>2018-07-28 09:08:01 +0300
commitd2d3608047d86d093d7fe5bb093ae0d54777e374 (patch)
treee00068ce0e5e4ead310220117d481d6092b3924d /src
parenteab72217378e06711d3b825944a1f5b0d0f29f95 (diff)
downloadrelx-d2d3608047d86d093d7fe5bb093ae0d54777e374.tar.gz
relx-d2d3608047d86d093d7fe5bb093ae0d54777e374.tar.bz2
relx-d2d3608047d86d093d7fe5bb093ae0d54777e374.zip
More careful handling of source root.
`from' directory should be excluded from the mask to avoid accidental expansion.
Diffstat (limited to 'src')
-rw-r--r--src/rlx_prv_overlay.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rlx_prv_overlay.erl b/src/rlx_prv_overlay.erl
index 33648d7..59d0d8d 100644
--- a/src/rlx_prv_overlay.erl
+++ b/src/rlx_prv_overlay.erl
@@ -381,15 +381,16 @@ wildcard_copy(State, FromFile0, ToFile0, CopyFun, ErrorTag) ->
filelib:ensure_dir(ToFile1),
CopyFun(FromFile1, ToFile1);
true ->
+ Root = absolute_path_from(Root),
FromFiles = if
- is_list(FromFile1) -> filelib:wildcard(FromFile1);
+ is_list(FromFile0) -> filelib:wildcard(FromFile0, Root);
true -> [FromFile1]
end,
rlx_util:mkdir_p(ToFile1),
lists:foldl(fun
(_, {error, _} = Error) -> Error;
(FromFile, ok) ->
- CopyFun(FromFile, filename:join(ToFile1, filename:basename(FromFile)))
+ CopyFun(filename:join(Root, FromFile), filename:join(ToFile1, filename:basename(FromFile)))
end, ok, FromFiles)
end,