I'm stuck - now I don't know what to do with that. In any case, the stack for that function starts at 0x3ffc29a0 and moves downward. If my understanding is correct, with "strong" stack smashing it places canaries at the end of each function's stack space and upon return checks to make sure the canary value is not overwritten, and the trace is showing that WiFiGenericClass::getMode() is somehow overwriting the bounds of its stack (which I find hard to believe).
![stack smashing detected c++ stack smashing detected c++](https://i.stack.imgur.com/6gJKy.png)
This GDB was configured as "-host=x86_64-build_apple-darwin16.3.0 -target=xtensa-esp32-elf". There is NO WARRANTY, to the extent permitted by law.
STACK SMASHING DETECTED C++ FREE
This is free software: you are free to change and redistribute it.
STACK SMASHING DETECTED C++ LICENSE
License GPLv3+: GNU GPL version 3 or later
![stack smashing detected c++ stack smashing detected c++](http://img2.tan90.me/jarvis_wp_7a0eddd01d532e95ac8a905e617c70b4.png)
I (2760) wifi: Init dynamic rx buffer num: 0 I (2756) wifi: Init static rx buffer num: 5 I (2745) wifi: Init management frame dynamic rx buffer num: 64
![stack smashing detected c++ stack smashing detected c++](https://media.springernature.com/lw685/springer-static/image/art%3A10.1007%2Fs10207-018-00425-8/MediaObjects/10207_2018_425_Fig1_HTML.png)
I (2742) wifi: Init data frame dynamic rx buffer num: 64 Code: Select all I (2742) wifi: Init dynamic tx buffer num: 32