Commit a969d80 jogi
committed
File tree 1 file changed +9
-3
lines changed
oshi-core/src/main/java/oshi/hardware/platform/linux
1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change 31
31
import org .slf4j .Logger ;
32
32
import org .slf4j .LoggerFactory ;
33
33
34
+ import com .sun .jna .Pointer ;
35
+
34
36
import oshi .hardware .Disks ;
35
37
import oshi .hardware .HWDiskStore ;
36
38
import oshi .hardware .HWPartition ;
@@ -119,12 +121,16 @@ public HWDiskStore[] getDisks() {
119
121
LOG .debug ("Reached all disks. Exiting " );
120
122
break ;
121
123
}
124
+ String devnode = Udev .INSTANCE .udev_device_get_devnode (device );
125
+ if (devnode == null ) {
126
+ LOG .warn ("Failed to retrieve devnode for device {}" , Pointer .nativeValue (device .getPointer ()));
127
+ continue ;
128
+ }
122
129
// Ignore loopback and ram disks; do nothing
123
- if (!Udev .INSTANCE .udev_device_get_devnode (device ).startsWith ("/dev/loop" )
124
- && !Udev .INSTANCE .udev_device_get_devnode (device ).startsWith ("/dev/ram" )) {
130
+ if (!devnode .startsWith ("/dev/loop" ) && !devnode .startsWith ("/dev/ram" )) {
125
131
if ("disk" .equals (Udev .INSTANCE .udev_device_get_devtype (device ))) {
126
132
store = new HWDiskStore ();
127
- store .setName (Udev . INSTANCE . udev_device_get_devnode ( device ) );
133
+ store .setName (devnode );
128
134
129
135
// Avoid model and serial in virtual environments
130
136
store .setModel (Udev .INSTANCE .udev_device_get_property_value (device , "ID_MODEL" ) == null ? "Unknown"
You can’t perform that action at this time.
0 commit comments