Skip to content

Add CodeQL query to check allocations do not exceed ensure_free#2101

Open
pguyot wants to merge 1 commit intoatomvm:mainfrom
pguyot:w07/add-codeql-ensure-free-size
Open

Add CodeQL query to check allocations do not exceed ensure_free#2101
pguyot wants to merge 1 commit intoatomvm:mainfrom
pguyot:w07/add-codeql-ensure-free-size

Conversation

@pguyot
Copy link
Collaborator

@pguyot pguyot commented Feb 15, 2026

Continuation of #2100

The query also checks redundant ensure_free calls, i.e. calls
followed by another call with no allocation in between.

Fix errors found by the query:

  • Fix an insufficient ensure_free in enif_make_resource_binary
  • Added a missing ensure_free in esp32 dac_driver.c
  • Remove nine redundant ensure_free calls followed by enif_make_resource
    in otp_ssl.c and otp_socket.c and esp32 drivers
  • Remove a redundant ensure_free call in nif_erlang_fun_to_list

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

@pguyot pguyot force-pushed the w07/add-codeql-ensure-free-size branch from eaf5720 to 3b69c44 Compare February 15, 2026 11:30
@pguyot pguyot marked this pull request as ready for review February 15, 2026 11:31
The query also checks redundant ensure_free calls, i.e. calls
followed by another call with no allocation in between.

Fix errors found by the query:
- Fix an insufficient ensure_free in `enif_make_resource_binary`
- Added a missing ensure_free in esp32 `dac_driver.c`
- Remove nine redundant ensure_free calls followed by `enif_make_resource`
  in `otp_ssl.c` and `otp_socket.c` and esp32 drivers
- Remove a redundant ensure_free call in `nif_erlang_fun_to_list`

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant