chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-dhcp-lease: use unaligned read helpers
[elogind.git]
/
src
/
libsystemd-network
/
sd-dhcp-lease.c
diff --git
a/src/libsystemd-network/sd-dhcp-lease.c
b/src/libsystemd-network/sd-dhcp-lease.c
index 4fb01c07299b2cab631134ca79a13e64cda9a65c..f4979f7da73e4a5dc66a0f11c5f65d6041b0139d 100644
(file)
--- a/
src/libsystemd-network/sd-dhcp-lease.c
+++ b/
src/libsystemd-network/sd-dhcp-lease.c
@@
-30,6
+30,7
@@
#include "list.h"
#include "mkdir.h"
#include "fileio.h"
#include "list.h"
#include "mkdir.h"
#include "fileio.h"
+#include "unaligned.h"
#include "in-addr-util.h"
#include "dhcp-protocol.h"
#include "in-addr-util.h"
#include "dhcp-protocol.h"
@@
-205,14
+206,11
@@
sd_dhcp_lease *sd_dhcp_lease_unref(sd_dhcp_lease *lease) {
}
static void lease_parse_u32(const uint8_t *option, size_t len, uint32_t *ret, uint32_t min) {
}
static void lease_parse_u32(const uint8_t *option, size_t len, uint32_t *ret, uint32_t min) {
- be32_t val;
-
assert(option);
assert(ret);
if (len == 4) {
assert(option);
assert(ret);
if (len == 4) {
- memcpy(&val, option, 4);
- *ret = be32toh(val);
+ *ret = unaligned_read_be32((be32_t*) option);
if (*ret < min)
*ret = min;
if (*ret < min)
*ret = min;
@@
-224,14
+222,11
@@
static void lease_parse_s32(const uint8_t *option, size_t len, int32_t *ret) {
}
static void lease_parse_u16(const uint8_t *option, size_t len, uint16_t *ret, uint16_t min) {
}
static void lease_parse_u16(const uint8_t *option, size_t len, uint16_t *ret, uint16_t min) {
- be16_t val;
-
assert(option);
assert(ret);
if (len == 2) {
assert(option);
assert(ret);
if (len == 2) {
- memcpy(&val, option, 2);
- *ret = be16toh(val);
+ *ret = unaligned_read_be16((be16_t*) option);
if (*ret < min)
*ret = min;
if (*ret < min)
*ret = min;