mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			415 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			415 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "unity.h"
 | 
						|
 | 
						|
#if CONFIG_COMPILER_STACK_CHECK
 | 
						|
 | 
						|
static void recur_and_smash_cxx(void)
 | 
						|
{
 | 
						|
    static int cnt;
 | 
						|
    volatile uint8_t buf[50];
 | 
						|
    volatile int num = sizeof(buf)+10;
 | 
						|
 | 
						|
    if (cnt++ < 1) {
 | 
						|
        recur_and_smash_cxx();
 | 
						|
    }
 | 
						|
    for (int i = 0; i < num; i++) {
 | 
						|
        buf[i] = 0;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
TEST_CASE("stack smashing protection CXX", "[stack_check] [ignore]")
 | 
						|
{
 | 
						|
    recur_and_smash_cxx();
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |