Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
This commit is contained in:
Adrien Gallouët
2018-10-01 07:19:30 +00:00
parent 5c9cbfc952
commit e8bda24ec0

View File

@@ -27,7 +27,7 @@ ip_read16(const uint8_t *src)
} }
static inline uint8_t static inline uint8_t
ip_get_version(const uint8_t *data) ip_get_version(const uint8_t *data, int size)
{ {
if (size < 20) if (size < 20)
return 0; return 0;
@@ -38,7 +38,7 @@ ip_get_version(const uint8_t *data)
static inline int static inline int
ip_is_valid(const uint8_t *data, int size) ip_is_valid(const uint8_t *data, int size)
{ {
switch (ip_get_version(data)) { switch (ip_get_version(data, size)) {
case 4: return size == ip_read16(&data[2]); case 4: return size == ip_read16(&data[2]);
case 6: return size == ip_read16(&data[4]) + 40; case 6: return size == ip_read16(&data[4]) + 40;
} }
@@ -49,7 +49,7 @@ ip_is_valid(const uint8_t *data, int size)
static inline int static inline int
ip_get_common(struct ip_common *ic, const uint8_t *data, int size) ip_get_common(struct ip_common *ic, const uint8_t *data, int size)
{ {
switch (ip_get_version(data)) { switch (ip_get_version(data, size)) {
case 4: case 4:
ic->tc = data[1]; ic->tc = data[1];
ic->proto = data[9]; ic->proto = data[9];