Skip to content
Snippets Groups Projects
Commit 877ee135 authored by Jakob Olsson's avatar Jakob Olsson
Browse files

minor fixes

parent b0c43351
No related branches found
No related tags found
No related merge requests found
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include "dongle_infrastructure.h" #include "dongle_infrastructure.h"
#include "dongle.h" #include "dongle.h"
#include "dfs.h" #include "stack.h"
struct ubus_object *dongle_create_dynamic_object(struct device *dev_instance); struct ubus_object *dongle_create_dynamic_object(struct device *dev_instance);
...@@ -219,6 +219,8 @@ char *get_device_name(char *dir_name) ...@@ -219,6 +219,8 @@ char *get_device_name(char *dir_name)
goto fail; goto fail;
} }
dr->path = strdup(dir_name); dr->path = strdup(dir_name);
if (dr->path)
goto fail_path;
push(dr, &stack); push(dr, &stack);
while (!list_empty(&stack) && !name) { while (!list_empty(&stack) && !name) {
...@@ -250,10 +252,15 @@ char *get_device_name(char *dir_name) ...@@ -250,10 +252,15 @@ char *get_device_name(char *dir_name)
sub_dr = malloc(sizeof(struct directory)); sub_dr = malloc(sizeof(struct directory));
if (!sub_dr) { if (!sub_dr) {
perror("malloc"); perror("malloc");
goto fail_malloc; continue;
} }
sub_dr->path = strdup(path); sub_dr->path = strdup(path);
if (sub_dr->path) {
free(sub_dr);
continue;
}
push(sub_dr, &stack); push(sub_dr, &stack);
continue; continue;
} }
...@@ -271,6 +278,10 @@ char *get_device_name(char *dir_name) ...@@ -271,6 +278,10 @@ char *get_device_name(char *dir_name)
clear_list(&visited); clear_list(&visited);
clear_list(&stack); clear_list(&stack);
return name; return name;
fail_path:
free(dr);
fail:
return NULL;
} }
int get_devices(void) int get_devices(void)
...@@ -367,7 +378,7 @@ char *get_device_ip(char *device_name) ...@@ -367,7 +378,7 @@ char *get_device_ip(char *device_name)
break; break;
addr.s_addr = strtoul(destination, NULL, IPV4_MAX); addr.s_addr = strtoul(destination, NULL, IPV4_MAX);
inet_ntop(AF_INET, &addr.s_addr, ipv4_addr, IPV4_MAX); inet_ntop(AF_INET, &(addr.s_addr), ipv4_addr, IPV4_MAX);
printf("ipv4_addr %s\n", ipv4_addr); printf("ipv4_addr %s\n", ipv4_addr);
} }
...@@ -376,6 +387,7 @@ char *get_device_ip(char *device_name) ...@@ -376,6 +387,7 @@ char *get_device_ip(char *device_name)
free(gateway); free(gateway);
free(flags); free(flags);
fclose(fp); fclose(fp);
fail:
return ipv4_addr; return ipv4_addr;
} }
......
#ifndef INFRASTRUCTURE_H #ifndef INFRASTRUCTURE_H
#define INFRASTRUCTURE_H #define INFRASTRUCTURE_H
#include "common.h" #include "common.h"
#define IPV4_MAX 16 #define IPV4_MAX 16
#define DYNAMIC_OBJ_NAME_SIZE 50
struct USB { struct USB {
char *product; char *product;
char *product_id; char *product_id;
......
#include "dfs.h" #include "stack.h"
void push(struct directory *dr, struct list_head *list) void push(struct directory *dr, struct list_head *list)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment