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))