Skip to content

False positives - cpp/unbounded-write #11557

Open
@ryao

Description

@ryao

Description of the false positive

CodeQL reports false positives from cpp/unbounded-write when the destination buffer passed to strcpy() has been allocated to be big enough to fit the string according to strlen().

Code samples or links to source code

Here is an example from the OpenZFS source code:

			int len = strlen(drrb->drr_toname);
			cp = umem_alloc(len + 2, UMEM_NOFAIL);
			cp[0] = '/';
			(void) strcpy(&cp[1], drrb->drr_toname);

We allocate cp to be 2 larger than the length of drrb->drr_toname. Then we do a strcpy() command that is guaranteed to be safe.

That is from report 783 below.

URL to the alert on GitHub code scanning (optional)

https://github.com/ryao/zfs/security/code-scanning/782
https://github.com/ryao/zfs/security/code-scanning/783
https://github.com/ryao/zfs/security/code-scanning/784

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions