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
ip_get_version(const uint8_t *data)
ip_get_version(const uint8_t *data, int size)
{
if (size < 20)
return 0;
@@ -38,7 +38,7 @@ ip_get_version(const uint8_t *data)
static inline int
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 6: return size == ip_read16(&data[4]) + 40;
}
@@ -49,7 +49,7 @@ ip_is_valid(const uint8_t *data, int size)
static inline int
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:
ic->tc = data[1];
ic->proto = data[9];