[SLOF] [PATCH slof v2 3/4] ethernet: Fix gcc warnings
Thomas Huth
thuth at redhat.com
Thu Jan 21 19:50:32 AEDT 2016
On 21.01.2016 02:39, Alexey Kardashevskiy wrote:
> This fixes gcc warnings but unlike other places, this does not change
> the type of bytes_received as recv() may return a negative value;
> instead this adds:
> 1) casting to size_t when comparing the size;
> 2) an additional check for a negative value returned from recv().
>
> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> ---
> clients/net-snk/app/netlib/ethernet.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/clients/net-snk/app/netlib/ethernet.c b/clients/net-snk/app/netlib/ethernet.c
> index b73239e..6ff7355 100644
> --- a/clients/net-snk/app/netlib/ethernet.c
> +++ b/clients/net-snk/app/netlib/ethernet.c
> @@ -117,7 +117,10 @@ int32_t receive_ether(int fd)
> if (!bytes_received) // No messages
> return 0;
>
> - if (bytes_received < sizeof(struct ethhdr))
> + if (bytes_received < 0)
> + return -1; /* recv() failed */
> +
> + if ((size_t) bytes_received < sizeof(struct ethhdr))
> return -1; // packet is too small
I think you could also simply do:
if (bytes_received < (int)sizeof(struct ethhdr))
return -1;
... that saves one check and should silence GCC ;-)
Thomas
More information about the SLOF
mailing list