[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