Quellcode durchsuchen

Refactor SConscript and add file checks in iwasm.c (#3945)

kk vor 1 Jahr
Ursprung
Commit
c32a6ceae1
2 geänderte Dateien mit 19 neuen und 7 gelöschten Zeilen
  1. 4 7
      core/iwasm/common/SConscript
  2. 15 0
      product-mini/platforms/rt-thread/iwasm.c

+ 4 - 7
core/iwasm/common/SConscript

@@ -13,13 +13,10 @@ cwd     = GetCurrentDir()
 
 src = Glob('*.c')
 
-if rtconfig.ARCH == 'arm':
-    if re.match('^cortex-m.*', rtconfig.CPU):
-        src += ['arch/invokeNative_thumb.s']
-    elif re.match('^cortex-a.*', rtconfig.CPU):
-        src += ['arch/invokeNative_arm.s']
-elif rtconfig.ARCH == 'ia32':
-    src += ['arch/invokeNative_ia32.s']
+if rtconfig.ARCH == 'arm' and re.match('^cortex-m.*', rtconfig.CPU):
+    src += ['arch/invokeNative_thumb.s']
+else:
+    src.append(f"arch/invokeNative_{rtconfig.ARCH}.s")
 
 CPPPATH = [cwd, cwd + '/../include']
 

+ 15 - 0
product-mini/platforms/rt-thread/iwasm.c

@@ -192,6 +192,21 @@ my_read_file_to_buffer(char *filename, rt_uint32_t *size)
 {
     struct stat f_stat;
 
+    if (!filename || !size) {
+        rt_set_errno(-EINVAL);
+        return RT_NULL;
+    }
+
+    if (stat(filename, &f_stat) != 0) {
+        rt_set_errno(errno);
+        return RT_NULL;
+    }
+
+    if (f_stat.st_size <= 0) {
+        rt_set_errno(-EINVAL);
+        return RT_NULL;
+    }
+
     rt_uint8_t *buff = rt_malloc(f_stat.st_size);
     *size = 0;
     if (!buff) {