From 3d4701a6e41616cf581a297bab1451cf2db70249 Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Tue, 14 Jul 2009 13:57:45 +0000 Subject: FS#10080 * Move strncpy() from core to the pluginlib * Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins * Drop strncpy() from the codec api as no codec used it * Bump codec and plugin api versions git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657 --- apps/recorder/albumart.c | 5 ++--- apps/recorder/pcm_record.c | 8 ++++---- apps/recorder/radio.c | 5 ++--- apps/recorder/recording.c | 2 +- 4 files changed, 9 insertions(+), 11 deletions(-) (limited to 'apps/recorder') diff --git a/apps/recorder/albumart.c b/apps/recorder/albumart.c index 6bd2adade3..a378c332b3 100644 --- a/apps/recorder/albumart.c +++ b/apps/recorder/albumart.c @@ -66,8 +66,7 @@ static char* strip_filename(char* buf, int buf_size, const char* fullpath) } len = MIN(sep - fullpath + 1, buf_size - 1); - strncpy(buf, fullpath, len); - buf[len] = 0; + strlcpy(buf, fullpath, len + 1); return (sep + 1); } @@ -266,7 +265,7 @@ bool search_albumart_files(const struct mp3entry *id3, const char *size_string, if (!found) return false; - strncpy(buf, path, buflen); + strlcpy(buf, path, buflen); logf("Album art found: %s", path); return true; } diff --git a/apps/recorder/pcm_record.c b/apps/recorder/pcm_record.c index 8657aee1ba..d1dc03113d 100644 --- a/apps/recorder/pcm_record.c +++ b/apps/recorder/pcm_record.c @@ -529,7 +529,7 @@ static bool pcmrec_fnq_is_full(void) /* queue another filename - will overwrite oldest one if full */ static bool pcmrec_fnq_add_filename(const char *filename) { - strncpy(fn_queue + fnq_wr_pos, filename, MAX_PATH); + strlcpy(fn_queue + fnq_wr_pos, filename, MAX_PATH); fnq_wr_pos = FNQ_NEXT(fnq_wr_pos); if (fnq_rd_pos != fnq_wr_pos) @@ -550,7 +550,7 @@ static bool pcmrec_fnq_replace_tail(const char *filename) pos = FNQ_PREV(fnq_wr_pos); - strncpy(fn_queue + pos, filename, MAX_PATH); + strlcpy(fn_queue + pos, filename, MAX_PATH); return true; } /* pcmrec_fnq_replace_tail */ @@ -562,7 +562,7 @@ static bool pcmrec_fnq_get_filename(char *filename) return false; if (filename) - strncpy(filename, fn_queue + fnq_rd_pos, MAX_PATH); + strlcpy(filename, fn_queue + fnq_rd_pos, MAX_PATH); fnq_rd_pos = FNQ_NEXT(fnq_rd_pos); return true; @@ -976,7 +976,7 @@ static void pcmrec_new_stream(const char *filename, /* next file name */ bool did_flush = false; /* did a flush occurr? */ if (filename) - strncpy(path, filename, MAX_PATH); + strlcpy(path, filename, MAX_PATH); queue_reply(&pcmrec_queue, 0); /* We have all we need */ data.pre_chunk = NULL; diff --git a/apps/recorder/radio.c b/apps/recorder/radio.c index 68c45c4f01..c5729ba8b2 100644 --- a/apps/recorder/radio.c +++ b/apps/recorder/radio.c @@ -1138,7 +1138,7 @@ void radio_load_presets(char *filename) } /* Temporary preset, loaded until player shuts down. */ else if(filename[0] == '/') - strncpy(filepreset, filename, sizeof(filepreset)); + strlcpy(filepreset, filename, sizeof(filepreset)); /* Preset from default directory. */ else snprintf(filepreset, sizeof(filepreset), "%s/%s.fmr", @@ -1159,8 +1159,7 @@ void radio_load_presets(char *filename) { struct fmstation * const fms = &presets[num_presets]; fms->frequency = f; - strncpy(fms->name, name, MAX_FMPRESET_LEN); - fms->name[MAX_FMPRESET_LEN] = '\0'; + strlcpy(fms->name, name, MAX_FMPRESET_LEN+1); num_presets++; } } diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index d7ab9c795c..0a890d03da 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c @@ -964,7 +964,7 @@ static char * reclist_get_name(int selected_item, void * data, } else { - strncpy(buffer, str(LANG_RECORDING_FILENAME), buffer_len); + strlcpy(buffer, str(LANG_RECORDING_FILENAME), buffer_len); } break; } -- cgit v1.2.3