Log Message: |
Explicitly limit the dimensions of a star delta container which allows us
to cast sizes to 32 bits.
* subversion/include/svn_error_codes.h
(SVN_ERR_FS_CONTAINER_SIZE): Declare new error code.
* subversion/libsvn_fs_x/reps.h
(svn_fs_x__reps_add): Allow for error returns.
* subversion/libsvn_fs_x/reps.c
(MAX_TEXT_BODY,
MAX_INSTRUCTIONS): Formally declare dimensional limit to the star
delta container.
(svn_fs_x__reps_add_base): Update caller. Explicitly cast index to 32 bits.
(add_new_text): Explicitly cast length values to 32 bits. They have been
limited to < 2GB be the caller already.
(svn_fs_x__reps_add): Make sure the container size stays within set limits.
* subversion/libsvn_fs_x/pack.c
(write_reps_containers): Update caller.
* subversion/tests/libsvn_fs_x/fs-x-pack-test.c
(test_reps): Same.
|