1
0
Fork 0
forked from len0rd/rockbox

convert a few more strlcpy to strmemccpy calls Fix Red and Yellow

albumart is imported to plugins just use a macro substitution
for now

Change-Id: I7c2e10d7559c087f0b3d0e6b844027d3b323da55
This commit is contained in:
William Wilgus 2022-11-15 00:29:35 -05:00 committed by William Wilgus
parent aea324b746
commit 687767bd8f
5 changed files with 13 additions and 7 deletions

View file

@ -24,6 +24,7 @@
#include "filetree.h" #include "filetree.h"
#include "wps.h" #include "wps.h"
#include "playback.h" #include "playback.h"
#include "string-extra.h"
/* /*
* This macro is meant to be used inside an IAP mode message handler. * This macro is meant to be used inside an IAP mode message handler.
@ -1430,7 +1431,6 @@ void iap_handlepkt_mode4(const unsigned int len, const unsigned char *buf)
unsigned int number_of_playlists = nbr_total_playlists(); unsigned int number_of_playlists = nbr_total_playlists();
uint32_t trackcount; uint32_t trackcount;
trackcount = playlist_amount(); trackcount = playlist_amount();
size_t len;
if ((buf[3] == 0x05) && ((start_index + read_count ) > trackcount)) if ((buf[3] == 0x05) && ((start_index + read_count ) > trackcount))
{ {

View file

@ -126,8 +126,8 @@ static bool clipboard_clip(struct clipboard *clip, const char *path,
unsigned int attr, unsigned int flags) unsigned int attr, unsigned int flags)
{ {
/* if it fits it clips */ /* if it fits it clips */
if (strlcpy(clip->path, path, sizeof (clip->path)) if (strmemccpy(clip->path, path, sizeof (clip->path)) != NULL)
< sizeof (clip->path)) { {
clip->attr = attr; clip->attr = attr;
clip->flags = flags; clip->flags = flags;
return true; return true;
@ -1048,7 +1048,7 @@ static int rename_file(void)
size_t pathlen = oldbase - selection; size_t pathlen = oldbase - selection;
char *newbase = newname + pathlen; char *newbase = newname + pathlen;
if (strlcpy(newname, selection, sizeof (newname)) >= sizeof (newname)) { if (strmemccpy(newname, selection, sizeof (newname)) == NULL) {
/* Too long */ /* Too long */
} else if (kbd_input(newbase, sizeof (newname) - pathlen, NULL) < 0) { } else if (kbd_input(newbase, sizeof (newname) - pathlen, NULL) < 0) {
rc = OPRC_CANCELLED; rc = OPRC_CANCELLED;

View file

@ -1400,7 +1400,7 @@ static int get_filename(struct playlist_info* playlist, int index, int seek,
if (playlist->in_ram && !control_file && max < 0) if (playlist->in_ram && !control_file && max < 0)
{ {
max = strlcpy(tmp_buf, (char*)&playlist->buffer[seek], sizeof(tmp_buf)); strmemccpy(tmp_buf, (char*)&playlist->buffer[seek], sizeof(tmp_buf));
} }
else if (max < 0) else if (max < 0)
{ {

View file

@ -39,6 +39,12 @@
#define USE_JPEG_COVER #define USE_JPEG_COVER
#endif #endif
#ifdef PLUGIN
#define strmemccpy strlcpy
/* Note we don't use the return value so this works */
/* FIXME if strmemccpy gets added to the rb->plugin struct */
#endif
/* Strip filename from a full path /* Strip filename from a full path
* *
* buf - buffer to extract directory to. * buf - buffer to extract directory to.

View file

@ -511,10 +511,10 @@ char *getcwd(char *buf, getcwd_size_t size)
return tc.currdir; return tc.currdir;
else if (size) else if (size)
{ {
if ((getcwd_size_t)strlcpy(buf, tc.currdir, size) < size) if (strmemccpy(buf, tc.currdir, size) != NULL)
return buf; return buf;
} }
/* size == 0, or truncation in strlcpy */ /* size == 0, or truncation in strmemccpy */
return NULL; return NULL;
} }