char *path, *grpid;
int ret;
+ if (!c->s) {
+ errno = ENXIO;
+ return -1;
+ }
ret = asprintf(&path, "%s/%s", c->sysfs_dir, name);
if (ret < 0) {
errno = ENOMEM;
void nvme_ctrl_disable_sqflow(nvme_ctrl_t c, bool disable_sqflow)
{
c->cfg.disable_sqflow = disable_sqflow;
- c->s->h->r->modified = true;
+ if (c->s && c->s->h && c->s->h->r)
+ c->s->h->r->modified = true;
}
void nvme_ctrl_set_discovered(nvme_ctrl_t c, bool discovered)
{
struct nvme_ctrl *c;
- if (!transport)
+ if (!s || !transport)
return NULL;
nvme_subsystem_for_each_ctrl(s, c) {
if (strcmp(c->transport, transport))
{
struct nvme_ns *n;
+ if (!c->s) {
+ errno = EINVAL;
+ return -1;
+ }
n = __nvme_scan_namespace(c->sysfs_dir, name);
if (!n)
return -1;