Commit 176958ae authored by Federico Vaga's avatar Federico Vaga

sw:lib: check strdup error

Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent 85bca307
...@@ -117,6 +117,8 @@ struct fmctdc_board *fmctdc_open(int dev_id) ...@@ -117,6 +117,8 @@ struct fmctdc_board *fmctdc_open(int dev_id)
if (!S_ISDIR(sb.st_mode)) if (!S_ISDIR(sb.st_mode))
goto err_stat_s; goto err_stat_s;
b->sysbase = strdup(path); b->sysbase = strdup(path);
if (!b->sysbase)
goto err_dup_sys;
/* get dev */ /* get dev */
snprintf(path, sizeof(path), snprintf(path, sizeof(path),
...@@ -127,6 +129,8 @@ struct fmctdc_board *fmctdc_open(int dev_id) ...@@ -127,6 +129,8 @@ struct fmctdc_board *fmctdc_open(int dev_id)
if (!S_ISCHR(sb.st_mode)) if (!S_ISCHR(sb.st_mode))
goto err_stat_d; goto err_stat_d;
b->devbase = strndup(path, strlen(path) - strlen("-0-0-ctrl")); b->devbase = strndup(path, strlen(path) - strlen("-0-0-ctrl"));
if (!b->sysbase)
goto err_dup_dev;
ret = fmctdc_sysfs_get(b, "version", &v); ret = fmctdc_sysfs_get(b, "version", &v);
if (ret) if (ret)
...@@ -187,7 +191,9 @@ err_buf: ...@@ -187,7 +191,9 @@ err_buf:
err_version: err_version:
free(b->devbase); free(b->devbase);
err_stat_d: err_stat_d:
err_dup_dev:
free(b->sysbase); free(b->sysbase);
err_dup_sys:
err_stat_s: err_stat_s:
free(b); free(b);
return NULL; return NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment