Replace strncpy() with av_strlcpy().

This commit is contained in:
Alex Converse 2011-05-03 11:19:31 -07:00 committed by Alex Converse
parent aab6374bbe
commit 1a5e4fd8c5
7 changed files with 32 additions and 29 deletions

View File

@ -3695,8 +3695,7 @@ static int opt_streamid(const char *opt, const char *arg)
char *p;
char idx_str[16];
strncpy(idx_str, arg, sizeof(idx_str));
idx_str[sizeof(idx_str)-1] = '\0';
av_strlcpy(idx_str, arg, sizeof(idx_str));
p = strchr(idx_str, ':');
if (!p) {
fprintf(stderr,

View File

@ -33,6 +33,7 @@
#include "libavutil/audioconvert.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/crc.h"
#include "libavutil/opt.h"
#include "avcodec.h"
@ -1578,10 +1579,10 @@ static void dprint_options(AVCodecContext *avctx)
char strbuf[32];
switch (s->bitstream_id) {
case 6: strncpy(strbuf, "AC-3 (alt syntax)", 32); break;
case 8: strncpy(strbuf, "AC-3 (standard)", 32); break;
case 9: strncpy(strbuf, "AC-3 (dnet half-rate)", 32); break;
case 10: strncpy(strbuf, "AC-3 (dnet quater-rate", 32); break;
case 6: av_strlcpy(strbuf, "AC-3 (alt syntax)", 32); break;
case 8: av_strlcpy(strbuf, "AC-3 (standard)", 32); break;
case 9: av_strlcpy(strbuf, "AC-3 (dnet half-rate)", 32); break;
case 10: av_strlcpy(strbuf, "AC-3 (dnet quater-rate", 32); break;
default: snprintf(strbuf, 32, "ERROR");
}
av_dlog(avctx, "bitstream_id: %s (%d)\n", strbuf, s->bitstream_id);
@ -1608,9 +1609,9 @@ static void dprint_options(AVCodecContext *avctx)
if (opt->audio_production_info) {
av_dlog(avctx, "mixing_level: %ddB\n", opt->mixing_level);
switch (opt->room_type) {
case 0: strncpy(strbuf, "notindicated", 32); break;
case 1: strncpy(strbuf, "large", 32); break;
case 2: strncpy(strbuf, "small", 32); break;
case 0: av_strlcpy(strbuf, "notindicated", 32); break;
case 1: av_strlcpy(strbuf, "large", 32); break;
case 2: av_strlcpy(strbuf, "small", 32); break;
default: snprintf(strbuf, 32, "ERROR (%d)", opt->room_type);
}
av_dlog(avctx, "room_type: %s\n", strbuf);
@ -1622,9 +1623,9 @@ static void dprint_options(AVCodecContext *avctx)
av_dlog(avctx, "dialnorm: %ddB\n", opt->dialogue_level);
if (s->channel_mode == AC3_CHMODE_STEREO) {
switch (opt->dolby_surround_mode) {
case 0: strncpy(strbuf, "notindicated", 32); break;
case 1: strncpy(strbuf, "on", 32); break;
case 2: strncpy(strbuf, "off", 32); break;
case 0: av_strlcpy(strbuf, "notindicated", 32); break;
case 1: av_strlcpy(strbuf, "on", 32); break;
case 2: av_strlcpy(strbuf, "off", 32); break;
default: snprintf(strbuf, 32, "ERROR (%d)", opt->dolby_surround_mode);
}
av_dlog(avctx, "dsur_mode: %s\n", strbuf);
@ -1636,9 +1637,9 @@ static void dprint_options(AVCodecContext *avctx)
if (s->bitstream_id == 6) {
if (opt->extended_bsi_1) {
switch (opt->preferred_stereo_downmix) {
case 0: strncpy(strbuf, "notindicated", 32); break;
case 1: strncpy(strbuf, "ltrt", 32); break;
case 2: strncpy(strbuf, "loro", 32); break;
case 0: av_strlcpy(strbuf, "notindicated", 32); break;
case 1: av_strlcpy(strbuf, "ltrt", 32); break;
case 2: av_strlcpy(strbuf, "loro", 32); break;
default: snprintf(strbuf, 32, "ERROR (%d)", opt->preferred_stereo_downmix);
}
av_dlog(avctx, "dmix_mode: %s\n", strbuf);
@ -1655,23 +1656,23 @@ static void dprint_options(AVCodecContext *avctx)
}
if (opt->extended_bsi_2) {
switch (opt->dolby_surround_ex_mode) {
case 0: strncpy(strbuf, "notindicated", 32); break;
case 1: strncpy(strbuf, "on", 32); break;
case 2: strncpy(strbuf, "off", 32); break;
case 0: av_strlcpy(strbuf, "notindicated", 32); break;
case 1: av_strlcpy(strbuf, "on", 32); break;
case 2: av_strlcpy(strbuf, "off", 32); break;
default: snprintf(strbuf, 32, "ERROR (%d)", opt->dolby_surround_ex_mode);
}
av_dlog(avctx, "dsurex_mode: %s\n", strbuf);
switch (opt->dolby_headphone_mode) {
case 0: strncpy(strbuf, "notindicated", 32); break;
case 1: strncpy(strbuf, "on", 32); break;
case 2: strncpy(strbuf, "off", 32); break;
case 0: av_strlcpy(strbuf, "notindicated", 32); break;
case 1: av_strlcpy(strbuf, "on", 32); break;
case 2: av_strlcpy(strbuf, "off", 32); break;
default: snprintf(strbuf, 32, "ERROR (%d)", opt->dolby_headphone_mode);
}
av_dlog(avctx, "dheadphone_mode: %s\n", strbuf);
switch (opt->ad_converter_type) {
case 0: strncpy(strbuf, "standard", 32); break;
case 1: strncpy(strbuf, "hdcd", 32); break;
case 0: av_strlcpy(strbuf, "standard", 32); break;
case 1: av_strlcpy(strbuf, "hdcd", 32); break;
default: snprintf(strbuf, 32, "ERROR (%d)", opt->ad_converter_type);
}
av_dlog(avctx, "ad_conv_type: %s\n", strbuf);

View File

@ -21,6 +21,7 @@
#include "avcodec.h"
#include "ass.h"
#include "libavutil/avstring.h"
/**
* Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS.
@ -117,8 +118,7 @@ int ff_ass_add_rect(AVSubtitle *sub, const char *dialog,
rects[sub->num_rects]->type = SUBTITLE_ASS;
rects[sub->num_rects]->ass = av_malloc(len + dlen + 1);
strcpy (rects[sub->num_rects]->ass , header);
strncpy(rects[sub->num_rects]->ass + len, dialog, dlen);
rects[sub->num_rects]->ass[len+dlen] = 0;
av_strlcpy(rects[sub->num_rects]->ass + len, dialog, dlen + 1);
sub->num_rects++;
return dlen;
}

View File

@ -827,7 +827,7 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track)
memset(compressor_name,0,32);
/* FIXME not sure, ISO 14496-1 draft where it shall be set to 0 */
if (track->mode == MODE_MOV && track->enc->codec && track->enc->codec->name)
strncpy(compressor_name,track->enc->codec->name,31);
av_strlcpy(compressor_name,track->enc->codec->name,32);
avio_w8(pb, strlen(compressor_name));
avio_write(pb, compressor_name, 31);

View File

@ -24,6 +24,7 @@
#include "id3v1.h"
#include "id3v2.h"
#include "rawenc.h"
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/opt.h"
@ -32,7 +33,7 @@ static int id3v1_set_string(AVFormatContext *s, const char *key,
{
AVMetadataTag *tag;
if ((tag = av_metadata_get(s->metadata, key, NULL, 0)))
strncpy(buf, tag->value, buf_size);
av_strlcpy(buf, tag->value, buf_size);
return !!tag;
}

View File

@ -26,6 +26,7 @@
#include <unistd.h>
#include <stdlib.h>
#include "avstring.h"
#include "avutil.h"
#include "log.h"
@ -120,7 +121,7 @@ void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl)
count=0;
}
colored_fputs(av_clip(level>>3, 0, 6), line);
strncpy(prev, line, sizeof line);
av_strlcpy(prev, line, sizeof line);
}
static void (*av_log_callback)(void*, int, const char*, va_list) = av_log_default_callback;

View File

@ -86,6 +86,7 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
//#define DEBUG_BRIGHTNESS
#include "postprocess.h"
#include "postprocess_internal.h"
#include "libavutil/avstring.h"
unsigned postproc_version(void)
{
@ -762,7 +763,7 @@ pp_mode *pp_get_mode_by_name_and_quality(const char *name, int quality)
ppMode->maxClippedThreshold= 0.01;
ppMode->error=0;
strncpy(temp, name, GET_MODE_BUFFER_SIZE);
av_strlcpy(temp, name, GET_MODE_BUFFER_SIZE);
av_log(NULL, AV_LOG_DEBUG, "pp: %s\n", name);