libbb: change xstrndup, xmemdup to take size_t as size parameter

Also, remove entirely usually-disabled paranoia check (was also using
wrong config option to enable itself).

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2022-01-05 23:02:13 +01:00
parent db5546ca10
commit 6062c0d19b
2 changed files with 4 additions and 7 deletions

View File

@ -429,8 +429,8 @@ void *xrealloc(void *old, size_t size) FAST_FUNC;
xrealloc_vector_helper((vector), (sizeof((vector)[0]) << 8) + (shift), (idx))
void* xrealloc_vector_helper(void *vector, unsigned sizeof_and_shift, int idx) FAST_FUNC;
char *xstrdup(const char *s) FAST_FUNC RETURNS_MALLOC;
char *xstrndup(const char *s, int n) FAST_FUNC RETURNS_MALLOC;
void *xmemdup(const void *s, int n) FAST_FUNC RETURNS_MALLOC;
char *xstrndup(const char *s, size_t n) FAST_FUNC RETURNS_MALLOC;
void *xmemdup(const void *s, size_t n) FAST_FUNC RETURNS_MALLOC;
void *mmap_read(int fd, size_t size) FAST_FUNC;
void *mmap_anon(size_t size) FAST_FUNC;
void *xmmap_anon(size_t size) FAST_FUNC;

View File

@ -91,13 +91,10 @@ char* FAST_FUNC xstrdup(const char *s)
// Die if we can't allocate n+1 bytes (space for the null terminator) and copy
// the (possibly truncated to length n) string into it.
char* FAST_FUNC xstrndup(const char *s, int n)
char* FAST_FUNC xstrndup(const char *s, size_t n)
{
char *t;
if (ENABLE_DEBUG && s == NULL)
bb_simple_error_msg_and_die("xstrndup bug");
t = strndup(s, n);
if (t == NULL)
@ -106,7 +103,7 @@ char* FAST_FUNC xstrndup(const char *s, int n)
return t;
}
void* FAST_FUNC xmemdup(const void *s, int n)
void* FAST_FUNC xmemdup(const void *s, size_t n)
{
return memcpy(xmalloc(n), s, n);
}