diff options
| author | Roy Marples <roy@marples.name> | 2016-11-18 16:41:01 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2016-11-18 16:41:01 +0000 |
| commit | 4e1dc4c527dffaf0b8a02b1d0ea24922a3f227d6 (patch) | |
| tree | 86f95d7cb139897e5509817db6e168f068a4eedd | |
| parent | b6353940c5d6d901f03d9313dcd03bc2257cdc51 (diff) | |
| download | dhcpcd-4e1dc4c527dffaf0b8a02b1d0ea24922a3f227d6.tar.xz | |
Only compare the address part length as the rest maybe garbage.
| -rw-r--r-- | sa.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -392,6 +392,7 @@ sa_cmp(const struct sockaddr *sa1, const struct sockaddr *sa2) offset = offsetof(struct sockaddr_in, sin_addr); #ifdef HAVE_SA_LEN len -= offset; + len = MIN(len, sizeof(struct in_addr)); #else len = sizeof(struct in_addr); #endif @@ -402,6 +403,7 @@ sa_cmp(const struct sockaddr *sa1, const struct sockaddr *sa2) offset = offsetof(struct sockaddr_in6, sin6_addr); #ifdef HAVE_SA_LEN len -= offset; + len = MIN(len, sizeof(struct in6_addr)); #else len = sizeof(struct in6_addr); #endif |
