openfirmio.c (105398) | openfirmio.c (109623) |
---|---|
1/* $NetBSD: openfirmio.c,v 1.4 2002/09/06 13:23:19 gehenna Exp $ */ 2 3/* 4 * Copyright (c) 1992, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This software was developed by the Computer Systems Engineering group 8 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and --- 29 unchanged lines hidden (view full) --- 38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 41 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 42 * SUCH DAMAGE. 43 * 44 * @(#)openfirm.c 8.1 (Berkeley) 6/11/93 45 * | 1/* $NetBSD: openfirmio.c,v 1.4 2002/09/06 13:23:19 gehenna Exp $ */ 2 3/* 4 * Copyright (c) 1992, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This software was developed by the Computer Systems Engineering group 8 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and --- 29 unchanged lines hidden (view full) --- 38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 41 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 42 * SUCH DAMAGE. 43 * 44 * @(#)openfirm.c 8.1 (Berkeley) 6/11/93 45 * |
46 * $FreeBSD: head/sys/dev/ofw/openfirmio.c 105398 2002-10-18 15:23:43Z tmm $ | 46 * $FreeBSD: head/sys/dev/ofw/openfirmio.c 109623 2003-01-21 08:56:16Z alfred $ |
47 */ 48 49#include <sys/param.h> 50#include <sys/systm.h> 51#include <sys/conf.h> 52#include <sys/errno.h> 53#include <sys/fcntl.h> 54#include <sys/ioccom.h> --- 55 unchanged lines hidden (view full) --- 110{ 111 int error; 112 char *cp; 113 114 /* Reject obvious bogus requests */ 115 if ((u_int)len > OFW_NAME_MAX) 116 return (ENAMETOOLONG); 117 | 47 */ 48 49#include <sys/param.h> 50#include <sys/systm.h> 51#include <sys/conf.h> 52#include <sys/errno.h> 53#include <sys/fcntl.h> 54#include <sys/ioccom.h> --- 55 unchanged lines hidden (view full) --- 110{ 111 int error; 112 char *cp; 113 114 /* Reject obvious bogus requests */ 115 if ((u_int)len > OFW_NAME_MAX) 116 return (ENAMETOOLONG); 117 |
118 *cpp = cp = malloc(len + 1, M_TEMP, M_WAITOK); | 118 *cpp = cp = malloc(len + 1, M_TEMP, 0); |
119 if (cp == NULL) 120 return (ENOMEM); 121 error = copyin(user, cp, len); 122 cp[len] = '\0'; 123 return (error); 124} 125 126int --- 51 unchanged lines hidden (view full) --- 178 if (len > of->of_buflen) { 179 error = ENOMEM; 180 break; 181 } 182 of->of_buflen = len; 183 /* -1 means no entry; 0 means no value */ 184 if (len <= 0) 185 break; | 119 if (cp == NULL) 120 return (ENOMEM); 121 error = copyin(user, cp, len); 122 cp[len] = '\0'; 123 return (error); 124} 125 126int --- 51 unchanged lines hidden (view full) --- 178 if (len > of->of_buflen) { 179 error = ENOMEM; 180 break; 181 } 182 of->of_buflen = len; 183 /* -1 means no entry; 0 means no value */ 184 if (len <= 0) 185 break; |
186 value = malloc(len, M_TEMP, M_WAITOK); | 186 value = malloc(len, M_TEMP, 0); |
187 if (value == NULL) { 188 error = ENOMEM; 189 break; 190 } 191 len = OF_getprop(node, name, (void *)value, len); 192 error = copyout(value, of->of_buf, len); 193 break; 194 --- 114 unchanged lines hidden --- | 187 if (value == NULL) { 188 error = ENOMEM; 189 break; 190 } 191 len = OF_getprop(node, name, (void *)value, len); 192 error = copyout(value, of->of_buf, len); 193 break; 194 --- 114 unchanged lines hidden --- |