directive writing 36 bytes into a region of size between 33 and 64 [-Werror=format-overflow=]
dr2okevin opened this issue · 4 comments
I'm getting the following error while running make all, and I have no Idea how to resolve this.
/home/kevin/esp/esp32-sniffer/components/espmqtt/lib/transport_ws.c: In function 'ws_connect':
/home/kevin/esp/esp32-sniffer/components/espmqtt/lib/transport_ws.c:100:53: error: '258EAFA5-E914-47DA-95CA-C5AB...' directive writing 36 bytes into a region of size between 33 and 64 [-Werror=format-overflow=]
int key_len = sprintf((char*)client_key_b64, "%s258EAFA5-E914-47DA-95CA-C5AB0DC85B11", (char*)client_key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kevin/esp/esp32-sniffer/components/espmqtt/lib/transport_ws.c:100:19: note: 'sprintf' output between 37 and 68 bytes into a destination of size 64
int key_len = sprintf((char*)client_key_b64, "%s258EAFA5-E914-47DA-95CA-C5AB0DC85B11", (char*)client_key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [/home/kevin/esp/esp-idf/make/component_wrapper.mk:298: lib/transport_ws.o] Fehler 1
make: *** [/home/kevin/esp/esp-idf/make/project.mk:649: component-espmqtt-build] Fehler 2
I'm using Ubuntu 20.04
Hi @dr2okevin,
I am curious which ESP-IDF are you using?
I've build this firmware times ago, so I don't really remember well but if I remember correctly I used version 3.2. Could you please make sure you're using the same version? Looking at the error I think it's just a version compatibility.
Let me know.
I have just installed it with the command from the readme
git clone --recursive https://github.com/espressif/esp-idf.git
I couldn't find any version ifnormation besides this
cat toolchain_versions.mk
SUPPORTED_TOOLCHAIN_COMMIT_DESC = esp-2021r1
SUPPORTED_TOOLCHAIN_GCC_VERSIONS = 8.4.0
CURRENT_TOOLCHAIN_COMMIT_DESC = esp-2021r1
CURRENT_TOOLCHAIN_COMMIT_DESC_SHORT = esp-2021r1
CURRENT_TOOLCHAIN_GCC_VERSION = 8.4.0
As you can see from the official ESP-IDF git repisotory (i.e. the link from which you're clonig the framework) there are different releases.
When you run git clone --recursive https://github.com/espressif/esp-idf.git
and clone the repo, you're automatically using the latest stable version (i.e. master
branch), that in this case - according to this - is ESP-IDF Release v4.3.1.
Probably there are some "major changes" between v3.x
and v4.x
- or at least, this is what that screenshot above is suggesting to me. Therefore, what you can try to do is to checkout to branch 3.x
(if I remeber correctly I used v3.2
, so let's try with this one) and then try again to compile (i.e. make all
).
Hi, I'm facing the same error.
I've tried to use release 3.2 of the EPS-IDF but there is no install script. How did you install that version?