X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d7e50217d7adf6e52786a38bcaa4cd698cb9a79e..6d2010ae8f7a6078e10b361c6962983bab233e0f:/bsd/net/if_media.c diff --git a/bsd/net/if_media.c b/bsd/net/if_media.c index 249f394e1..7c2e4be3f 100644 --- a/bsd/net/if_media.c +++ b/bsd/net/if_media.c @@ -1,16 +1,19 @@ /* * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. + * + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER @@ -20,7 +23,7 @@ * Please see the License for the specific language governing rights and * limitations under the License. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* $NetBSD: if_media.c,v 1.1 1997/03/17 02:55:15 thorpej Exp $ */ /* $FreeBSD: src/sys/net/if_media.c,v 1.9.2.4 2001/07/04 00:12:38 brooks Exp $ */ @@ -86,12 +89,12 @@ * Useful for debugging newly-ported drivers. */ -static struct ifmedia_entry *ifmedia_match __P((struct ifmedia *ifm, - int flags, int mask)); +static struct ifmedia_entry *ifmedia_match(struct ifmedia *ifm, + int flags, int mask); #ifdef IFMEDIA_DEBUG int ifmedia_debug = 0; -static void ifmedia_printword __P((int)); +static void ifmedia_printword(int); #endif /* @@ -216,11 +219,11 @@ ifmedia_set(ifm, target) * Device-independent media ioctl support function. */ int -ifmedia_ioctl(ifp, ifr, ifm, cmd) - struct ifnet *ifp; - struct ifreq *ifr; - struct ifmedia *ifm; - u_long cmd; +ifmedia_ioctl( + struct ifnet *ifp, + struct ifreq *ifr, + struct ifmedia *ifm, + u_long cmd) { struct ifmedia_entry *match; struct ifmediareq *ifmr = (struct ifmediareq *) ifr; @@ -328,6 +331,8 @@ ifmedia_ioctl(ifp, ifr, ifm, cmd) if (ifmr->ifm_count != 0) { kptr = (int *) _MALLOC(ifmr->ifm_count * sizeof(int), M_TEMP, M_WAITOK); + if (kptr == NULL) + return ENOBUFS; /* * Get the media words from the interface's list. @@ -352,7 +357,7 @@ ifmedia_ioctl(ifp, ifr, ifm, cmd) sticky = error; if ((error == 0 || error == E2BIG) && ifmr->ifm_count != 0) { error = copyout((caddr_t)kptr, - (caddr_t)ifmr->ifm_ulist, + CAST_USER_ADDR_T(ifmr->ifm_ulist), ifmr->ifm_count * sizeof(int)); }