chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Print kdbus path when opening fails
[elogind.git]
/
src
/
libsystemd-network
/
network-internal.c
diff --git
a/src/libsystemd-network/network-internal.c
b/src/libsystemd-network/network-internal.c
index a5db0c53530282f1ba291cae6a731298a3d01964..603ee6dbe978de0db9234d29948faac6d0b8bbae 100644
(file)
--- a/
src/libsystemd-network/network-internal.c
+++ b/
src/libsystemd-network/network-internal.c
@@
-304,7
+304,7
@@
int config_parse_hwaddr(const char *unit,
return 0;
}
return 0;
}
-int net_parse_inaddr(const char *address,
unsigned char
*family, void *dst) {
+int net_parse_inaddr(const char *address,
int
*family, void *dst) {
int r;
assert(address);
int r;
assert(address);
@@
-339,31
+339,25
@@
int net_parse_inaddr(const char *address, unsigned char *family, void *dst) {
return 0;
}
return 0;
}
-void serialize_in_addrs(FILE *f, const
char *key,
struct in_addr *addresses, size_t size) {
+void serialize_in_addrs(FILE *f, const struct in_addr *addresses, size_t size) {
unsigned i;
assert(f);
unsigned i;
assert(f);
- assert(key);
assert(addresses);
assert(size);
assert(addresses);
assert(size);
- fprintf(f, "%s=", key);
-
for (i = 0; i < size; i++)
fprintf(f, "%s%s", inet_ntoa(addresses[i]),
(i < (size - 1)) ? " ": "");
for (i = 0; i < size; i++)
fprintf(f, "%s%s", inet_ntoa(addresses[i]),
(i < (size - 1)) ? " ": "");
-
- fputs("\n", f);
}
}
-int deserialize_in_addrs(struct in_addr **ret,
size_t *ret_size,
const char *string) {
+int deserialize_in_addrs(struct in_addr **ret, const char *string) {
_cleanup_free_ struct in_addr *addresses = NULL;
_cleanup_free_ struct in_addr *addresses = NULL;
-
size_
t size = 0;
+
in
t size = 0;
char *word, *state;
size_t len;
assert(ret);
char *word, *state;
size_t len;
assert(ret);
- assert(ret_size);
assert(string);
FOREACH_WORD(word, len, string, state) {
assert(string);
FOREACH_WORD(word, len, string, state) {
@@
-388,21
+382,19
@@
int deserialize_in_addrs(struct in_addr **ret, size_t *ret_size, const char *str
size ++;
}
size ++;
}
- *ret_size = size;
*ret = addresses;
addresses = NULL;
*ret = addresses;
addresses = NULL;
- return
0
;
+ return
size
;
}
}
-int deserialize_in6_addrs(struct in6_addr **ret,
size_t *ret_size,
const char *string) {
+int deserialize_in6_addrs(struct in6_addr **ret, const char *string) {
_cleanup_free_ struct in6_addr *addresses = NULL;
_cleanup_free_ struct in6_addr *addresses = NULL;
-
size_
t size = 0;
+
in
t size = 0;
char *word, *state;
size_t len;
assert(ret);
char *word, *state;
size_t len;
assert(ret);
- assert(ret_size);
assert(string);
FOREACH_WORD(word, len, string, state) {
assert(string);
FOREACH_WORD(word, len, string, state) {
@@
-427,11
+419,10
@@
int deserialize_in6_addrs(struct in6_addr **ret, size_t *ret_size, const char *s
size++;
}
size++;
}
- *ret_size = size;
*ret = addresses;
addresses = NULL;
*ret = addresses;
addresses = NULL;
- return
0
;
+ return
size
;
}
void serialize_dhcp_routes(FILE *f, const char *key, struct sd_dhcp_route *routes, size_t size) {
}
void serialize_dhcp_routes(FILE *f, const char *key, struct sd_dhcp_route *routes, size_t size) {
@@
-465,7
+456,7
@@
int deserialize_dhcp_routes(struct sd_dhcp_route **ret, size_t *ret_size, size_t
FOREACH_WORD(word, len, string, state) {
/* WORD FORMAT: dst_ip/dst_prefixlen,gw_ip */
FOREACH_WORD(word, len, string, state) {
/* WORD FORMAT: dst_ip/dst_prefixlen,gw_ip */
- _cleanup_free_ char* entry;
+ _cleanup_free_ char* entry
= NULL
;
char *tok, *tok_end;
unsigned n;
int r;
char *tok, *tok_end;
unsigned n;
int r;
@@
-474,6
+465,8
@@
int deserialize_dhcp_routes(struct sd_dhcp_route **ret, size_t *ret_size, size_t
return -ENOMEM;
entry = strndup(word, len);
return -ENOMEM;
entry = strndup(word, len);
+ if(!entry)
+ return -ENOMEM;
tok = entry;
tok = entry;