[MPlayer-dev-eng] [PATCH 2/4] String handling audit/cleanup
Nico Sabbi
nicola_sabbi at fastwebnet.it
Fri Mar 2 22:48:21 CET 2007
Nicholas Kain wrote:
> Patches for the stream subdirectory. Note that all of my patches
> correctly apply from the root directory.
>
notice: I manually quoted the patch
>--- stream/stream_dvb.c.orig 2007-03-02 11:18:16.000000000 -0500
>+++ stream/stream_dvb.c 2007-03-02 13:42:36.000000000 -0500
>@@ -176,8 +176,7 @@ static dvb_channels_list *dvb_get_channe
> ptr->name = (char*) malloc(k+1);
> if(! ptr->name)
> continue;
>- strncpy(ptr->name, line, k);
>- ptr->name[k] = 0;
>+ strlcpy(ptr->name, line, k+1);
it's shorter, but to me it looks equivalent
> }
> else
> continue;
>@@ -764,7 +763,7 @@ dvb_config_t *dvb_get_config(void)
> conf->cards = NULL;
> for(i=0; i<MAX_CARDS; i++)
> {
>- sprintf(filename, "/dev/dvb/adapter%d/frontend0", i);
>+ snprintf(filename, sizeof
>filename,"/dev/dvb/adapter%d/frontend0", i);
> fd = open(filename, O_RDONLY|O_NONBLOCK);
filename is allocated as char[30] and MAX_CARDS is defined as 4, so in
no way sprintf() can overflow
> if(fd < 0)
> {
>@@ -824,7 +823,7 @@ dvb_config_t *dvb_get_config(void)
> conf->cards[conf->count].devno = i;
> conf->cards[conf->count].list = list;
> conf->cards[conf->count].type = type;
>- sprintf(name, "DVB-%c card n. %d", type==TUNER_TER ?
>'T' : (type==TUNER_CBL ? 'C' : 'S'), conf->count+1);
>+ snprintf(name, 20, "DVB-%c card n. %d",
>type==TUNER_TER ? 'T' : (type==TUNER_CBL ? 'C' : 'S'), >conf->count+1);
> conf->cards[conf->count].name = name;
> conf->count++;
> }
same reasoning here
--
"Without a frontend, mplayer is useless" - someone in mplayer-users
More information about the MPlayer-dev-eng
mailing list