===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
stm32flash-0.5+git20200914+2b0f078/main.c-194-/* returns the lower address of flash page "page" */
stm32flash-0.5+git20200914+2b0f078/main.c:195:static uint32_t flash_page_to_addr(int page)
stm32flash-0.5+git20200914+2b0f078/main.c-196-{
##############################################
stm32flash-0.5+git20200914+2b0f078/main.c-385-		first_page = spage;
stm32flash-0.5+git20200914+2b0f078/main.c:386:		start = flash_page_to_addr(first_page);
stm32flash-0.5+git20200914+2b0f078/main.c-387-		if (start > stm->dev->fl_end) {
##############################################
stm32flash-0.5+git20200914+2b0f078/main.c-393-			num_pages = npages;
stm32flash-0.5+git20200914+2b0f078/main.c:394:			end = flash_page_to_addr(first_page + num_pages);
stm32flash-0.5+git20200914+2b0f078/main.c-395-			if (end > stm->dev->fl_end)
##############################################
stm32flash-0.5+git20200914+2b0f078/main.c-472-		if (num_pages != STM32_MASS_ERASE &&
stm32flash-0.5+git20200914+2b0f078/main.c:473:		    (start != flash_page_to_addr(first_page)
stm32flash-0.5+git20200914+2b0f078/main.c:474:		     || end != flash_page_to_addr(first_page + num_pages))) {
stm32flash-0.5+git20200914+2b0f078/main.c-475-			fprintf(stderr, "Specified start & length are invalid (must be page aligned)\n");