39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
diff --git a/util-linux/mdev.c b/util-linux/mdev.c
|
|
index bb000fc..ec614f5 100644
|
|
--- a/util-linux/mdev.c
|
|
+++ b/util-linux/mdev.c
|
|
@@ -1101,6 +1101,11 @@ static int check_mtp_mode(void)
|
|
int mtp_flag = 0;
|
|
|
|
fd = fopen("/sys/class/android_usb/android0/functions", "r");
|
|
+ if (!fd) {
|
|
+ printf("failed to open /sys/class/android_usb/android0/functions\n");
|
|
+ return 0;
|
|
+ }
|
|
+
|
|
while (fgets(buffer, 128, fd)) {
|
|
if (strstr(buffer, "mtp") != NULL) {
|
|
mtp_flag = 1;
|
|
@@ -1118,6 +1123,10 @@ static int check_usb_status(void)
|
|
int usb_status = 0;
|
|
|
|
fp = fopen("/sys/class/android_usb/android0/state", "r");
|
|
+ if (!fp) {
|
|
+ printf("failed to open /sys/class/android_usb/android0/state\n");
|
|
+ return 0;
|
|
+ }
|
|
while(fgets(buffer, 16, fp)) {
|
|
if (strstr(buffer, "CONFIGURED") != NULL) {
|
|
usb_status = 1;
|
|
@@ -1133,6 +1142,10 @@ static void get_usb_state(char *usb_state)
|
|
FILE *fp;
|
|
|
|
fp = fopen("/sys/class/android_usb/android0/state", "r");
|
|
+ if (!fp) {
|
|
+ printf("failed to open /sys/class/android_usb/android0/state\n");
|
|
+ return;
|
|
+ }
|
|
fgets(usb_state, 16, fp);
|
|
fclose(fp);
|
|
return;
|