err = nvme_identify_ns(fd, nsid, false, &id_ns);
if (err > 0) {
nvme_show_status(err);
- return err;
+ return -1;
} else if (err < 0) {
perror("identify namespace");
- return err;
+ return -1;
}
err = nvme_zns_identify_ns(fd, nsid, &ns);
if (err > 0) {
nvme_show_status(err);
- return err;
+ return -1;
} else if (err < 0) {
perror("zns identify namespace");
- return err;
+ return -1;
}
lbaf = id_ns.flbas & NVME_NS_FLBAS_LBA_MASK;
if (cfg.zsa == NVME_ZNS_ZSA_SET_DESC_EXT) {
if(!cfg.data_len) {
cfg.data_len = get_zdes_bytes(fd, cfg.namespace_id);
- if (cfg.data_len == 0) {
+ if (!cfg.data_len || cfg.data_len < 0) {
fprintf(stderr,
- "Zone Descriptor Extensions are not supported\n");
+ "Zone Descriptor Extensions are not supported\n");
goto close_fd;
} else if (cfg.data_len < 0) {
err = cfg.data_len;
data_len = get_zdes_bytes(fd, cfg.namespace_id);
- if (!data_len) {
+ if (!data_len || data_len < 0) {
fprintf(stderr,
"zone format does not provide descriptor extention\n");
errno = EINVAL;