aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bus.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/bus.c b/src/bus.c
index 2c3f614..e28bda1 100644
--- a/src/bus.c
+++ b/src/bus.c
@@ -80,8 +80,8 @@ int scanbus_sysfs(nndevice_t** device)
}
else
{
- fgets(device[i]->model, sizeof(device[i]->model), fp);
- device[i]->model[strlen(device[i]->model) - 1] = 0;
+ if(fgets(device[i]->model, sizeof(device[i]->model), fp) != NULL)
+ device[i]->model[strlen(device[i]->model) - 1] = 0;
fclose(fp);
}
@@ -95,10 +95,11 @@ int scanbus_sysfs(nndevice_t** device)
}
else
{
- fgets(device[i]->vendor, sizeof(device[i]->model), fp);
- /* Why does sysfs not terminate the string after the last character? Kernel 2.6 bug?
+ /* Why does sysfs not terminate the string after the last character? Kernel 2.6 bug?
Here we are checking for the space character and terminating it manually. */
- device[i]->vendor[strind(device[i]->vendor, ' ')] = 0;
+ if((fgets(device[i]->vendor, sizeof(device[i]->model), fp)) != NULL)
+ device[i]->vendor[strind(device[i]->vendor, ' ')] = 0;
+
fclose(fp);
}