Skip to content

Commit

Permalink
vSomeIP 2.4.3
Browse files Browse the repository at this point in the history
  • Loading branch information
juergengehring committed Nov 4, 2016
1 parent 172d8af commit 7bb9334
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 91 deletions.
4 changes: 4 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -224,3 +224,7 @@ v2.4.2
- Incoming find service entries with unicast flag set to 0 are now replied with
a unicast offer service message instead of a multicast offer service message.
- application::stop() now blocks until the shutdown has finished completely

v2.4.3
- Fix receiving of UDP frames containing multiple SOME/IP messages via UDP from
external service instances
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ project (vsomeip)

set (VSOMEIP_MAJOR_VERSION 2)
set (VSOMEIP_MINOR_VERSION 4)
set (VSOMEIP_PATCH_VERSION 2)
set (VSOMEIP_PATCH_VERSION 3)
set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP_PATCH_VERSION})
set (PACKAGE_VERSION ${VSOMEIP_VERSION}) # Used in documentatin/doxygen.in
set (CMAKE_VERBOSE_MAKEFILE off)
Expand Down
81 changes: 0 additions & 81 deletions README.md

This file was deleted.

26 changes: 17 additions & 9 deletions implementation/endpoints/src/udp_client_endpoint_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,15 +139,23 @@ void udp_client_endpoint_impl::receive_cbk(
<< (int) recv_buffer_[i] << " ";
VSOMEIP_DEBUG << msg.str();
#endif
uint32_t current_message_size
= utility::get_message_size(&this->recv_buffer_[0],
(uint32_t) _bytes);
if (current_message_size > VSOMEIP_SOMEIP_HEADER_SIZE &&
current_message_size <= _bytes) {
its_host->on_message(&recv_buffer_[0], current_message_size, this);
} else {
VSOMEIP_ERROR << "Received a unreliable vSomeIP message with bad length field";
}
std::size_t remaining_bytes = _bytes;
std::size_t i = 0;
do {
uint32_t current_message_size
= utility::get_message_size(&this->recv_buffer_[i],
(uint32_t) remaining_bytes);
if (current_message_size > VSOMEIP_SOMEIP_HEADER_SIZE &&
current_message_size <= remaining_bytes) {
remaining_bytes -= current_message_size;

its_host->on_message(&recv_buffer_[i], current_message_size, this);
} else {
VSOMEIP_ERROR << "Received a unreliable vSomeIP message with bad length field";
remaining_bytes = 0;
}
i += current_message_size;
} while (remaining_bytes > 0);
}
if (!_error) {
receive();
Expand Down

0 comments on commit 7bb9334

Please sign in to comment.