kmodloader: modprobe: skip possible command line arguments
[project/ubox.git] / validate / validate.c
index 5bc3bc4..e72b811 100644 (file)
@@ -173,8 +173,10 @@ dt_type_list(struct dt_state *s, int nargs)
        char *p, *str = strdup(s->value);
        const char *value = s->value;
 
-       if (!str || !nargs)
+       if (!str || !nargs) {
+               free(str);
                return false;
+       }
 
        for (p = strtok(str, " \t"); p; p = strtok(NULL, " \t"))
        {
@@ -198,7 +200,8 @@ dt_type_list(struct dt_state *s, int nargs)
 static bool
 dt_type_min(struct dt_state *s, int nargs)
 {
-       int n, min;
+       int n;
+       int min = 0;
        char *e;
 
        if (dt_getint(0, min))
@@ -213,7 +216,8 @@ dt_type_min(struct dt_state *s, int nargs)
 static bool
 dt_type_max(struct dt_state *s, int nargs)
 {
-       int n, max;
+       int n;
+       int max = 0;
        char *e;
 
        if (dt_getint(0, max))
@@ -228,7 +232,9 @@ dt_type_max(struct dt_state *s, int nargs)
 static bool
 dt_type_range(struct dt_state *s, int nargs)
 {
-       int n, min, max;
+       int n;
+       int min = 0;
+       int max = 0;
        char *e;
 
        if (dt_getint(0, min) && dt_getint(1, max))
@@ -243,7 +249,7 @@ dt_type_range(struct dt_state *s, int nargs)
 static bool
 dt_type_minlen(struct dt_state *s, int nargs)
 {
-       int min;
+       int min = 0;
 
        if (dt_getint(0, min))
                return (strlen(s->value) >= min);
@@ -254,7 +260,7 @@ dt_type_minlen(struct dt_state *s, int nargs)
 static bool
 dt_type_maxlen(struct dt_state *s, int nargs)
 {
-       int max;
+       int max = 0;
 
        if (dt_getint(0, max))
                return (strlen(s->value) <= max);
@@ -265,7 +271,8 @@ dt_type_maxlen(struct dt_state *s, int nargs)
 static bool
 dt_type_rangelen(struct dt_state *s, int nargs)
 {
-       int min, max;
+       int min = 0;
+       int max = 0;
        int len = strlen(s->value);
 
        if (dt_getint(0, min) && dt_getint(1, max))
@@ -344,7 +351,8 @@ dt_type_bool(struct dt_state *s, int nargs)
 static bool
 dt_type_string(struct dt_state *s, int nargs)
 {
-       int min, max;
+       int min = 0;
+       int max = 0;
        int len = strlen(s->value);
 
        if (dt_getint(0, min) && (len < min))
@@ -359,7 +367,8 @@ dt_type_string(struct dt_state *s, int nargs)
 static bool
 dt_type_hexstring(struct dt_state *s, int nargs)
 {
-       int min, max;
+       int min = 0;
+       int max = 0;
        int len = strlen(s->value);
        const char *p;