Mercurial > nand-ecoscentric
changeset 1561:31dd38f564ec
udp tweak
| author | msalter |
|---|---|
| date | Tue, 30 Mar 2004 19:09:14 +0000 |
| parents | 9a0206637430 |
| children | 8bafb5f8a697 |
| files | packages/redboot/current/ChangeLog packages/redboot/current/src/net/udp.c |
| diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/redboot/current/ChangeLog +++ b/packages/redboot/current/ChangeLog @@ -1,3 +1,8 @@ +2004-03-30 Mark Salter <msalter@redhat.com> + + * src/net/udp.c (__udp_recvfrom_handler): Protect against back-to-back + duplicate packets. + 2004-03-17 Thomas Koeller <thomas.koeller@baslerweb.com> * src/fs/fileio.c: Only include IO package headers if required.
--- a/packages/redboot/current/src/net/udp.c +++ b/packages/redboot/current/src/net/udp.c @@ -8,7 +8,7 @@ //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. -// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Red Hat, Inc. // Copyright (C) 2002, 2003 Gary Thomas // // eCos is free software; you can redistribute it and/or modify it under @@ -219,7 +219,7 @@ static void __udp_recvfrom_handler(udp_socket_t *skt, char *buf, int len, ip_route_t *src_route, word src_port) { - if (recvfrom_server == NULL) + if (recvfrom_server == NULL || recvfrom_buf == NULL) return; if (recvfrom_server->sin_port && recvfrom_server->sin_port != htons(src_port))
