chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dbus-common: avoid leak in error path
[elogind.git]
/
src
/
shared
/
socket-util.c
diff --git
a/src/shared/socket-util.c
b/src/shared/socket-util.c
index c583d3dfea3d8902262de499e646fcb08ad296d3..954686f974e8561ba65484a09ace623ba064e993 100644
(file)
--- a/
src/shared/socket-util.c
+++ b/
src/shared/socket-util.c
@@
-300,7
+300,8
@@
int socket_address_print(const SocketAddress *a, char **p) {
case AF_INET: {
char *ret;
case AF_INET: {
char *ret;
- if (!(ret = new(char, INET_ADDRSTRLEN+1+5+1)))
+ ret = new(char, INET_ADDRSTRLEN+1+5+1);
+ if (!ret)
return -ENOMEM;
if (!inet_ntop(AF_INET, &a->sockaddr.in4.sin_addr, ret, INET_ADDRSTRLEN)) {
return -ENOMEM;
if (!inet_ntop(AF_INET, &a->sockaddr.in4.sin_addr, ret, INET_ADDRSTRLEN)) {
@@
-316,7
+317,8
@@
int socket_address_print(const SocketAddress *a, char **p) {
case AF_INET6: {
char *ret;
case AF_INET6: {
char *ret;
- if (!(ret = new(char, 1+INET6_ADDRSTRLEN+2+5+1)))
+ ret = new(char, 1+INET6_ADDRSTRLEN+2+5+1);
+ if (!ret)
return -ENOMEM;
ret[0] = '[';
return -ENOMEM;
ret[0] = '[';
@@
-334,8
+336,8
@@
int socket_address_print(const SocketAddress *a, char **p) {
char *ret;
if (a->size <= offsetof(struct sockaddr_un, sun_path)) {
char *ret;
if (a->size <= offsetof(struct sockaddr_un, sun_path)) {
-
- if (!
(ret = strdup("<unnamed>"))
)
+ ret = strdup("<unnamed>");
+ if (!
ret
)
return -ENOMEM;
} else if (a->sockaddr.un.sun_path[0] == 0) {
return -ENOMEM;
} else if (a->sockaddr.un.sun_path[0] == 0) {
@@
-346,7
+348,8
@@
int socket_address_print(const SocketAddress *a, char **p) {
* more than one NUL byte. That is
* actually an invalid assumption */
* more than one NUL byte. That is
* actually an invalid assumption */
- if (!(ret = new(char, sizeof(a->sockaddr.un.sun_path)+1)))
+ ret = new(char, sizeof(a->sockaddr.un.sun_path)+1);
+ if (!ret)
return -ENOMEM;
ret[0] = '@';
return -ENOMEM;
ret[0] = '@';
@@
-354,8
+357,8
@@
int socket_address_print(const SocketAddress *a, char **p) {
ret[sizeof(a->sockaddr.un.sun_path)] = 0;
} else {
ret[sizeof(a->sockaddr.un.sun_path)] = 0;
} else {
-
- if (!
(ret = strdup(a->sockaddr.un.sun_path))
)
+ ret = strdup(a->sockaddr.un.sun_path);
+ if (!
ret
)
return -ENOMEM;
}
return -ENOMEM;
}
@@
-486,16
+489,16
@@
bool socket_address_is_netlink(const SocketAddress *a, const char *s) {
return socket_address_equal(a, &b);
}
return socket_address_equal(a, &b);
}
-
bool socket_address_needs_mount(const SocketAddress *a, const char *prefix
) {
+
const char* socket_address_get_path(const SocketAddress *a
) {
assert(a);
if (socket_address_family(a) != AF_UNIX)
assert(a);
if (socket_address_family(a) != AF_UNIX)
- return
false
;
+ return
NULL
;
if (a->sockaddr.un.sun_path[0] == 0)
if (a->sockaddr.un.sun_path[0] == 0)
- return
false
;
+ return
NULL
;
- return
path_startswith(a->sockaddr.un.sun_path, prefix)
;
+ return
a->sockaddr.un.sun_path
;
}
bool socket_ipv6_is_supported(void) {
}
bool socket_ipv6_is_supported(void) {