Эх сурвалжийг харах

lfs: Validate lfs-cfg sizes before performing arithmetic logics with them

Roy Kupershmid 6 жил өмнө
parent
commit
0c77123eee
1 өөрчлөгдсөн 6 нэмэгдсэн , 0 устгасан
  1. 6 0
      lfs.c

+ 6 - 0
lfs.c

@@ -3369,6 +3369,12 @@ static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) {
     lfs->cfg = cfg;
     lfs->cfg = cfg;
     int err = 0;
     int err = 0;
 
 
+    // validate that the lfs-cfg sizes were initiated properly before
+    // performing any arithmetic logics with them
+    LFS_ASSERT(lfs->cfg->read_size != 0);
+    LFS_ASSERT(lfs->cfg->prog_size != 0);
+    LFS_ASSERT(lfs->cfg->cache_size != 0);
+
     // check that block size is a multiple of cache size is a multiple
     // check that block size is a multiple of cache size is a multiple
     // of prog and read sizes
     // of prog and read sizes
     LFS_ASSERT(lfs->cfg->cache_size % lfs->cfg->read_size == 0);
     LFS_ASSERT(lfs->cfg->cache_size % lfs->cfg->read_size == 0);