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 | """ |
