Skip to content

Commit

Permalink
libc: common: Ignore GCC analyzer-malloc-leak warning
Browse files Browse the repository at this point in the history
Ignore GCC static analyzer warning (analyzer-malloc-leak)
on malloc() and realloc() return values as false positive.

Signed-off-by: Dmitrii Golovanov <[email protected]>
  • Loading branch information
golowanow committed Aug 31, 2024
1 parent 7cf124b commit 4aa6310
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions lib/libc/common/source/stdlib/malloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,12 @@ malloc_unlock(void)
#define malloc_unlock()
#endif

/* Define outside malloc() to make checkpatch EMBEDDED_FUNCTION_NAME happy. */
#if defined(__GNUC__)
#define GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK \
_Pragma("GCC diagnostic ignored \"-Wanalyzer-malloc-leak\"")

Check notice on line 143 in lib/libc/common/source/stdlib/malloc.c

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

lib/libc/common/source/stdlib/malloc.c:143 -#define GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK \ +#define GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK \

Check notice on line 143 in lib/libc/common/source/stdlib/malloc.c

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

lib/libc/common/source/stdlib/malloc.c:143 -#define GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK \ +#define GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK \
#endif

void *malloc(size_t size)
{
malloc_lock();
Expand All @@ -150,7 +156,17 @@ void *malloc(size_t size)

malloc_unlock();

#if defined(__GNUC__)
#pragma GCC diagnostic push
GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK
#undef GCC_DIAGNOSTIC_IGNORED_ANALYZER_LEAK
#endif

return ret;

#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif
}

void *aligned_alloc(size_t alignment, size_t size)
Expand Down Expand Up @@ -250,7 +266,16 @@ void *realloc(void *ptr, size_t requested_size)

malloc_unlock();

#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif

return ret;

#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif
}

void free(void *ptr)
Expand Down

0 comments on commit 4aa6310

Please sign in to comment.