diff options
author | Kota Tsuyuzaki <bloodeagle40234@gmail.com> | 2015-08-18 08:16:07 +0000 |
---|---|---|
committer | Tushar Gohad <tushar.gohad@intel.com> | 2015-08-18 08:30:34 +0000 |
commit | c9ce822825a55e3254c2f9e74a139fc89310ddc0 (patch) | |
tree | f74557392be088077f23b7af2f8568b128303555 /src | |
parent | 63829197d588c536898b6499a58639ae8029ac50 (diff) | |
download | liberasurecode-c9ce822825a55e3254c2f9e74a139fc89310ddc0.tar.gz |
Enforce the (k + m < 32) limit, add unit tests
Diffstat (limited to 'src')
-rw-r--r-- | src/erasurecode.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/erasurecode.c b/src/erasurecode.c index 57054b9..7379524 100644 --- a/src/erasurecode.c +++ b/src/erasurecode.c @@ -253,6 +253,12 @@ int liberasurecode_instance_create(const ec_backend_id_t id, if (id >= EC_BACKENDS_MAX) return -EBACKENDNOTSUPP; + if ((args->k + args->m) > EC_MAX_FRAGMENTS) { + log_error("Total number of fragments (k + m) must be less than %d\n", + EC_MAX_FRAGMENTS); + return -EINVALIDPARAMS; + } + /* Allocate memory for ec_backend instance */ instance = calloc(1, sizeof(*instance)); if (NULL == instance) |