There are three bug in fifo testcase.
1. line 211 and line 295 should be nbytes not ret.
2. coverity report error:
CID 1667262: (#4 of 11): Double close (USE_AFTER_FREE)
11. double_close: Calling close(int) will close the handle fd that has already been closed. [Note: The source code implementation of this function has been overwritten by the built-in model.]
Double close will ocurr when line 234 is true and goto line 341, close again!
Now, Using the previous code logic, Use a tid and an errout_with_null_thread to avoid uninitialized problems.
3. since line 295 is used ret not nbytes, error not expose before.
When the end of read and write are opened, end of write will write successfully even if end of read not read.
Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Adjust the test considering the POSIX-compliant behavior of the
NuttX's FIFO (mkfifo), which should block `open` for read-only
and write-only. This test's result is expected to be the same with
any other POSIX-compliant system.
This commit also:
* Fix redirect test;
* Use pthread instead `task_create` to be able to run this test
on POSIX-compliant systems;
* General fixes regarding formatting and error messages;
transfer_test.c:66:12: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
int fd = (int)pvarg;
^
transfer_test.c: In function 'transfer_writer':
transfer_test.c:122:12: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
int fd = (int)pvarg;
^
transfer_test.c: In function 'transfer_test':
transfer_test.c:169:58: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
ret = pthread_create(&readerid, NULL, transfer_reader, (pthread_addr_t)fdin);
^
transfer_test.c:179:58: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
ret = pthread_create(&writerid, NULL, transfer_writer, (pthread_addr_t)fdout);
^
transfer_test.c:202:13: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
ret = (int)value;
^
transfer_test.c:216:13: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
tmp = (int)value;
^
Signed-off-by: nietingting <nietingting@xiaomi.com>