Merge "Negative data or parity args are invalid"
This commit is contained in:
commit
3ff4b22bc1
|
@ -274,6 +274,8 @@ int liberasurecode_instance_create(const ec_backend_id_t id,
|
|||
if (id >= EC_BACKENDS_MAX)
|
||||
return -EBACKENDNOTSUPP;
|
||||
|
||||
if (args->k < 0 || args->m < 0)
|
||||
return -EINVALIDPARAMS;
|
||||
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);
|
||||
|
|
|
@ -519,32 +519,30 @@ static void test_backend_available_invalid_args()
|
|||
static void test_create_backend_invalid_args()
|
||||
{
|
||||
int desc = liberasurecode_instance_create(-1, &null_args);
|
||||
if (-EBACKENDNOTAVAIL == desc) {
|
||||
fprintf (stderr, "Backend library not available!\n");
|
||||
return;
|
||||
}
|
||||
assert(desc < 0);
|
||||
assert(-EBACKENDNOTSUPP == desc);
|
||||
|
||||
desc = liberasurecode_instance_create(EC_BACKENDS_MAX, &null_args);
|
||||
if (-EBACKENDNOTAVAIL == desc) {
|
||||
fprintf (stderr, "Backend library not available!\n");
|
||||
return;
|
||||
}
|
||||
assert(desc < 0);
|
||||
assert(-EBACKENDNOTSUPP == desc);
|
||||
|
||||
desc = liberasurecode_instance_create(EC_BACKEND_NULL, NULL);
|
||||
if (-EBACKENDNOTAVAIL == desc) {
|
||||
fprintf (stderr, "Backend library not available!\n");
|
||||
return;
|
||||
}
|
||||
assert(-EINVALIDPARAMS == desc);
|
||||
|
||||
struct ec_args invalid_args = {
|
||||
.k = 100,
|
||||
.m = 100,
|
||||
};
|
||||
desc = liberasurecode_instance_create(EC_BACKEND_NULL, &invalid_args);
|
||||
if (-EBACKENDNOTAVAIL == desc) {
|
||||
fprintf (stderr, "Backend library not available!\n");
|
||||
return;
|
||||
}
|
||||
assert(desc < 0);
|
||||
assert(-EINVALIDPARAMS == desc);
|
||||
|
||||
invalid_args.k = -1;
|
||||
invalid_args.m = 4;
|
||||
desc = liberasurecode_instance_create(EC_BACKEND_NULL, &invalid_args);
|
||||
assert(-EINVALIDPARAMS == desc);
|
||||
|
||||
invalid_args.k = 10;
|
||||
invalid_args.m = -1;
|
||||
desc = liberasurecode_instance_create(EC_BACKEND_NULL, &invalid_args);
|
||||
assert(-EINVALIDPARAMS == desc);
|
||||
}
|
||||
|
||||
static void test_destroy_backend_invalid_args()
|
||||
|
|
Loading…
Reference in New Issue