瀏覽代碼

ncd: modules: runonce: check type of options argument

ambrop7 14 年之前
父節點
當前提交
4c8438be21
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      ncd/modules/runonce.c

+ 4 - 0
ncd/modules/runonce.c

@@ -178,6 +178,10 @@ static void func_new (NCDModuleInst *i)
         ModuleLog(i, BLOG_ERROR, "wrong arity");
         ModuleLog(i, BLOG_ERROR, "wrong arity");
         goto fail1;
         goto fail1;
     }
     }
+    if (opts_arg && NCDValue_Type(opts_arg) != NCDVALUE_LIST) {
+        ModuleLog(i, BLOG_ERROR, "wrong type");
+        goto fail1;
+    }
     
     
     // read options
     // read options
     for (NCDValue *opt = (opts_arg ? NCDValue_ListFirst(opts_arg) : NULL); opt; opt = NCDValue_ListNext(opts_arg, opt)) {
     for (NCDValue *opt = (opts_arg ? NCDValue_ListFirst(opts_arg) : NULL); opt; opt = NCDValue_ListNext(opts_arg, opt)) {