]> git.saurik.com Git - apple/bootx.git/blobdiff - bootx.tproj/fs.subproj/net.c
BootX-81.tar.gz
[apple/bootx.git] / bootx.tproj / fs.subproj / net.c
index 161a0572f67741f6a79f344b4dae0d0f10af3d9b..92b052b5b103d75da52816e54ff233687c7e4624 100644 (file)
@@ -1,28 +1,35 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * 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. 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.
  * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * 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
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  *  net.c - File System Module for wrapping TFTP.
  *
- *  Copyright (c) 1999-2000 Apple Computer, Inc.
+ *  Copyright (c) 1999-2002, 2005 Apple Computer, Inc.
  *
  *  DRI: Josh de Cesare
  */
@@ -42,7 +49,7 @@ CICell NetInitPartition(char *devSpec)
 {
   NetPartInfoPtr net;
   
-  net = (NetPartInfoPtr)malloc(sizeof(NetPartInfo));
+  net = (NetPartInfoPtr)AllocateBootXMemory(sizeof(NetPartInfo));
   if (net == 0) return 0;
   
   strcpy(net->devSpec, devSpec);
@@ -72,7 +79,7 @@ long NetLoadFile(CICell ih, char *filePath)
   
   triesLeft = 10;
   do {
-    ret = CallMethod_1_1(netIH, "load", kLoadAddr, &length);
+    ret = CallMethod(1, 1, netIH, "load", kLoadAddr, &length);
     if (gOFVersion < kOFVersion3x) {
       if (length == 0) ret = -1;
     }
@@ -82,10 +89,15 @@ long NetLoadFile(CICell ih, char *filePath)
   
   Close(netIH);
   
+  if (length > kLoadSize) {
+    printf("\nLoadFile failure: %ld bytes overran the load buffer (%ld bytes)\n", length, kLoadSize);
+    return -1;
+  }
+
   return length;
 }
 
-long NetGetDirEntry(CICell ih, char *dirPath, long *dirIndex,
+long NetGetDirEntry(CICell ih, char *dirPath, unsigned long *dirIndex,
                    char **name, long *flags, long *time)
 {
   return -1;