The attached file shows a function returns a pointer to an array in its local
stack frame to its caller. This is dangerous, because an interrupt or other
intervening function call made by the caller before referencing this returned
pointer can clobber this region of memory, resulting in garbage values.
I would have expected the static analyzer to flag this as questionable, but
scan-build clang -O3 -Wall -c returns_pointer_to_local.c
yields only:
scan-build: Using '/home/swilliams-local/src/llvm-build/bin/clang-3.9' for static analysis
scan-build: Removing directory '/tmp/scan-build-2016-03-02-165148-28031-1' because it contains no reports.
scan-build: No bugs found.
returns_pointer_to_local.c
(1022 bytes, text/x-csrc)