-
-
Save MasterDuke17/6479485b8f93cebc72ea1249c584a508 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In file included from src/moar.h:126, | |
from src/spesh/pea.c:1: | |
src/spesh/pea.c: In function ‘MVM_free’: | |
src/core/alloc.h:43:5: warning: double-‘free’ of ‘p’ [CWE-415] [-Wanalyzer-double-free] | |
43 | free(p); | |
| ^~~~~~~ | |
‘MVM_spesh_pea_destroy_deopt_info’: events 1-4 | |
| | |
|src/spesh/pea.c:718:6: | |
| 718 | void MVM_spesh_pea_destroy_deopt_info(MVMThreadContext *tc, MVMSpeshPEADeopt *deopt_pea) { | |
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | | | |
| | (1) entry to ‘MVM_spesh_pea_destroy_deopt_info’ | |
| 719 | MVMuint32 i; | |
| 720 | for (i = 0; i < MVM_VECTOR_ELEMS(deopt_pea->materialize_info); i++) | |
| | ~~~ | |
| | | | |
| | (2) following ‘true’ branch... | |
| 721 | MVM_free(deopt_pea->materialize_info[i].attr_regs); | |
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | | | | |
| | | (3) ...to here | |
| | (4) calling ‘MVM_free’ from ‘MVM_spesh_pea_destroy_deopt_info’ | |
| | |
+--> ‘MVM_free’: events 5-6 | |
| | |
|src/core/alloc.h:42:24: | |
| 42 | MVM_STATIC_INLINE void MVM_free(void *p) { | |
| | ^~~~~~~~ | |
| | | | |
| | (5) entry to ‘MVM_free’ | |
| 43 | free(p); | |
| | ~~~~~~~ | |
| | | | |
| | (6) first ‘free’ here | |
| | |
<------+ | |
| | |
‘MVM_spesh_pea_destroy_deopt_info’: events 7-10 | |
| | |
|src/spesh/pea.c:721:9: | |
| 720 | for (i = 0; i < MVM_VECTOR_ELEMS(deopt_pea->materialize_info); i++) | |
| | ~~~ | |
| | | | |
| | (8) following ‘true’ branch... | |
| 721 | MVM_free(deopt_pea->materialize_info[i].attr_regs); | |
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | | | | |
| | | (9) ...to here | |
| | (7) returning to ‘MVM_spesh_pea_destroy_deopt_info’ from ‘MVM_free’ | |
| | (10) calling ‘MVM_free’ from ‘MVM_spesh_pea_destroy_deopt_info’ | |
| | |
+--> ‘MVM_free’: events 11-12 | |
| | |
|src/core/alloc.h:42:24: | |
| 42 | MVM_STATIC_INLINE void MVM_free(void *p) { | |
| | ^~~~~~~~ | |
| | | | |
| | (11) entry to ‘MVM_free’ | |
| 43 | free(p); | |
| | ~~~~~~~ | |
| | | | |
| | (12) first ‘free’ here | |
| | |
<------+ | |
| | |
‘MVM_spesh_pea_destroy_deopt_info’: events 13-17 | |
| | |
|src/spesh/pea.c:721:9: | |
| 720 | for (i = 0; i < MVM_VECTOR_ELEMS(deopt_pea->materialize_info); i++) | |
| | ~~~ | |
| | | | |
| | (14) following ‘true’ branch... | |
| 721 | MVM_free(deopt_pea->materialize_info[i].attr_regs); | |
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | | | | |
| | | (15) ...to here | |
| | | (16) first ‘free’ here | |
| | (13) returning to ‘MVM_spesh_pea_destroy_deopt_info’ from ‘MVM_free’ | |
| | (17) passing freed pointer ‘<unknown>’ in call to ‘MVM_free’ from ‘MVM_spesh_pea_destroy_deopt_info’ | |
| | |
+--> ‘MVM_free’: events 18-19 | |
| | |
|src/core/alloc.h:42:24: | |
| 42 | MVM_STATIC_INLINE void MVM_free(void *p) { | |
| | ^~~~~~~~ | |
| | | | |
| | (18) entry to ‘MVM_free’ | |
| 43 | free(p); | |
| | ~~~~~~~ | |
| | | | |
| | (19) second ‘free’ here; first ‘free’ was at (16) | |
| |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment