From 17a8f0e2b4bb2272033759173f3220b00ab77aa5 Mon Sep 17 00:00:00 2001 From: Shawn Routhier Date: Fri, 18 Feb 2011 19:12:50 +0000 Subject: [PATCH] Modify the dlpi code to accept getmsg() returning a positive value. [ISC-Bugs #22824] --- RELNOTES | 3 +++ common/dlpi.c | 13 ++----------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/RELNOTES b/RELNOTES index 70adf814..e03e52d2 100644 --- a/RELNOTES +++ b/RELNOTES @@ -207,6 +207,9 @@ work on other platforms. Please report any problems and suggested fixes to [ISC-Bugs #22888] - Enable the ldap code when buidling common The above fixes are from Jiri Popelka at Red Hat. +- Modify the dlpi code to accept getmsg() returning a positive value. + [ISC-Bugs #22824] + Changes since 4.2.0b2 - Add declaration for variable in debug code in alloc.c. [ISC-Bugs #21472] diff --git a/common/dlpi.c b/common/dlpi.c index 002480ff..4700cf51 100644 --- a/common/dlpi.c +++ b/common/dlpi.c @@ -3,7 +3,7 @@ Data Link Provider Interface (DLPI) network interface code. */ /* - * Copyright (c) 2009-2010 by Internet Systems Consortium, Inc. ("ISC") + * Copyright (c) 2009-2011 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 1996-2003 by Internet Software Consortium * @@ -1165,16 +1165,7 @@ static int dlpiunitdataind (fd, daddr, daddrlen, result = getmsg (fd, &ctl, &data, &flags); - /* - * The getmsg() manpage says: - * - * "On successful completion, a non-negative value is returned." - * - * This suggests that if MOREDATA or MORECTL are set, we error? - * This seems to be safe as it never seems to happen. Still, - * set a log message, so we know if it ever starts happening. - */ - if (result != 0) { + if (result < 0) { log_debug("dlpiunitdataind: %m"); return -1; }