diff options
author | Mike Frysinger <vapier@google.com> | 2019-07-31 23:32:58 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@google.com> | 2020-02-04 20:34:01 +0000 |
commit | 04122b7261319dae3abcaf0eb63af7ed937dc463 (patch) | |
tree | 4e8092cae702cd7b667b4cd95f1cfc5dbba221f3 /error.py | |
parent | f5525fb310f0aae2783d9ccf647cac967efb2600 (diff) | |
download | git-repo-04122b7261319dae3abcaf0eb63af7ed937dc463.tar.gz |
manifest: add basic path checks for <copyfile> & <linkfile>
Reject paths in <copyfile> & <linkfile> that point outside of their
respective scopes. This validates paths while parsing the manifest
as this should be quick & cheap: we don't access the filesystem as
this code runs before we've synced.
Bug: https://crbug.com/gerrit/11218
Change-Id: I8e17bb91f3f5b905a9d76391b29fbab4cb77aa58
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/232932
Tested-by: Mike Frysinger <vapier@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Reviewed-by: Michael Mortensen <mmortensen@google.com>
Diffstat (limited to 'error.py')
-rw-r--r-- | error.py | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -22,6 +22,10 @@ class ManifestInvalidRevisionError(Exception): | |||
22 | """The revision value in a project is incorrect. | 22 | """The revision value in a project is incorrect. |
23 | """ | 23 | """ |
24 | 24 | ||
25 | class ManifestInvalidPathError(Exception): | ||
26 | """A path used in <copyfile> or <linkfile> is incorrect. | ||
27 | """ | ||
28 | |||
25 | class NoManifestException(Exception): | 29 | class NoManifestException(Exception): |
26 | """The required manifest does not exist. | 30 | """The required manifest does not exist. |
27 | """ | 31 | """ |