]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/dfu/dfu.c
dfu: dfu_get_buf: check the value of env dfu_bufsiz before use
[karo-tx-uboot.git] / drivers / dfu / dfu.c
index 648f26105da975e549e89b12917529691dab1877..ad0a7e7c25f9f4cd5f6c543cdb3deab56d97ceca 100644 (file)
@@ -95,8 +95,12 @@ unsigned char *dfu_get_buf(struct dfu_entity *dfu)
                return dfu_buf;
 
        s = getenv("dfu_bufsiz");
-       dfu_buf_size = s ? (unsigned long)simple_strtol(s, NULL, 16) :
-                       CONFIG_SYS_DFU_DATA_BUF_SIZE;
+       if (s)
+               dfu_buf_size = (unsigned long)simple_strtol(s, NULL, 0);
+
+       if (!s || !dfu_buf_size)
+               dfu_buf_size = CONFIG_SYS_DFU_DATA_BUF_SIZE;
+
        if (dfu->max_buf_size && dfu_buf_size > dfu->max_buf_size)
                dfu_buf_size = dfu->max_buf_size;