projects
/
systemd
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9df247d
)
in-addr-util: introduce FAMILY_ADDRESS_SIZE_SAFE() macro
author
Yu Watanabe
<watanabe.yu+github@gmail.com>
Sun, 14 Nov 2021 06:24:20 +0000
(15:24 +0900)
committer
Yu Watanabe
<watanabe.yu+github@gmail.com>
Thu, 25 Nov 2021 13:34:29 +0000
(22:34 +0900)
src/basic/in-addr-util.h
patch
|
blob
|
history
diff --git
a/src/basic/in-addr-util.h
b/src/basic/in-addr-util.h
index 97715a230cd205225d890620efcf0ab776b2e90f..0178391e5f252cb91da63cfb1166578f2084df81 100644
(file)
--- a/
src/basic/in-addr-util.h
+++ b/
src/basic/in-addr-util.h
@@
-114,6
+114,13
@@
static inline size_t FAMILY_ADDRESS_SIZE(int family) {
return family == AF_INET6 ? 16 : 4;
}
+#define FAMILY_ADDRESS_SIZE_SAFE(f) \
+ ({ \
+ int _f = (f); \
+ _f == AF_INET ? sizeof(struct in_addr) : \
+ _f == AF_INET6 ? sizeof(struct in6_addr) : 0; \
+ })
+
/* Workaround for clang, explicitly specify the maximum-size element here.
* See also oss-fuzz#11344. */
#define IN_ADDR_NULL ((union in_addr_union) { .in6 = {} })