]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/commitdiff
Fix buffer overflow
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 13 Apr 2016 12:57:55 +0000 (14:57 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 13 Apr 2016 12:57:55 +0000 (14:57 +0200)
rpp-test-sw/commands/cmd_hout.c

index be5bf4bdb65efd849f7e086691f526dd58237809..71a5a75c78d15bde19ff402f3e2a857294e516bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013, 2015 Czech Technical University in Prague
+ * Copyright (C) 2012-2013, 2015, 2016 Czech Technical University in Prague
  *
  * Created on: 28.2.2013
  *
@@ -68,9 +68,9 @@ int cmd_do_test_hout_fault(cmd_io_t *cmd_io, const struct cmd_des *des, char *pa
 {
        int pin;
        char *p = param[1];
-       char spareParams;
+       char spareParams[2];
 
-       if (sscanf(p, "%d %1s", &pin, &spareParams) != 1)
+       if (sscanf(p, "%d %1s", &pin, spareParams) != 1)
                return -CMDERR_BADPAR;
        pin--;
        if (pin < 0 || pin > 5) return -CMDERR_BADPAR;
@@ -105,7 +105,7 @@ int cmd_do_hout_pwm(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 {
        char *p;
        uint32_t values[MAX_PARAM_VALUES_NUM];
-       char spareParams;
+       char spareParams[2];
        int pin;
 
        p = param[1];
@@ -116,7 +116,7 @@ int cmd_do_hout_pwm(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 
        if (param[2] != NULL) {     // More parameters = set values
                p = param[2];
-               if (sscanf(p, "%d %d %1s", &values[0], &values[1], &spareParams) != 2)
+               if (sscanf(p, "%d %d %1s", &values[0], &values[1], spareParams) != 2)
                        return -CMDERR_BADPAR;
                if (values[1] > 100) return -CMDERR_BADPAR;
                hout_pwm_set_signal(pin, (double)values[0], values[1]);
@@ -143,9 +143,9 @@ int cmd_do_hout_pwm_start(cmd_io_t *cmd_io, const struct cmd_des *des, char *par
 {
        int pin;
        char *p = param[1];
-       char spareParams;
+       char spareParams[2];
 
-       if (sscanf(p, "%d %1s", &pin, &spareParams) != 1)
+       if (sscanf(p, "%d %1s", &pin, spareParams) != 1)
                return -CMDERR_BADPAR;
        pin--;
        if (pin < 0 || pin > 5) return -CMDERR_BADPAR;
@@ -170,9 +170,9 @@ int cmd_do_hout_pwm_stop(cmd_io_t *cmd_io, const struct cmd_des *des, char *para
 {
        int pin;
        char *p = param[1];
-       char spareParams;
+       char spareParams[2];
 
-       if (sscanf(p, "%d %1s", &pin, &spareParams) != 1)
+       if (sscanf(p, "%d %1s", &pin, spareParams) != 1)
                return -CMDERR_BADPAR;
        pin--;
        if (pin < 0 || pin > 5) return -CMDERR_BADPAR;