Data delay is stored as 8-bit number in kwbimage structure. Ensure the
given value is at most 255.

Signed-off-by: Pali Rohár <p...@kernel.org>
Reviewed-by: Marek Behún <marek.be...@nic.cz>
---
 tools/kwbimage.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 7c2106006ad7..2de8c371c12a 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -1659,6 +1659,10 @@ static int image_create_config_parse_oneline(char *line,
                        el->regdata_delay = 
REGISTER_SET_HDR_OPT_DELAY_SDRAM_SETUP;
                else
                        el->regdata_delay = 
REGISTER_SET_HDR_OPT_DELAY_MS(strtoul(value1, NULL, 10));
+               if (el->regdata_delay > 255) {
+                       fprintf(stderr, "Maximal DATA_DELAY is 255\n");
+                       return -1;
+               }
                break;
        case IMAGE_CFG_BAUDRATE:
                el->baudrate = strtoul(value1, NULL, 10);
-- 
2.20.1

Reply via email to