/bin/sh [OT]

Jakub Bogusz qboosh w prioris.mini.pw.edu.pl
Pon, 21 Maj 2001, 22:07:10 CEST


On Mon, May 21, 2001 at 02:53:26PM +0200, Jacek Konieczny wrote:
> On Sun, May 20, 2001 at 09:35:58PM +0200, Jakub Bogusz wrote:
> > A w ogóle ten scrollkeeper-install mi się nie podoba:
> > 
> >   strcpy (scrollkeeper_dir, optarg);  /* XXX buffer overflow */
> > 
> > albo:
> > 
> >   sprintf(command, "mkdir %s/%s", scrollkeeper_dir, dir_ent->d_name);
> >   system(command);
> > 
> To wcale nie musi być błędne. To zależy czym jest command. Ja bardzo
> często stosuje takie konstrukcje, ale wcześniej:
> command=(char *)malloc(strlen("mkdir /")+strlen(scrollkeeper_dir)+strlen(dir_ent->d_name)+1); 
> if (!command) wyjdz_elegancko_z_programu;

W tym przypadku command ma stałą długość, a długość parametrów nie jest
sprawdzana.
Poza tym po kiego do mkdir wywoływać shella? mkdir(2) ukradli?
(cały program jest w podobnym stylu - czy to wynik kompilacji skryptu? ;>)


-- 
Jakub Bogusz
http://prioris.mini.pw.edu.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl