/bin/sh [OT]

Jacek Konieczny jajcus w pld.org.pl
Pon, 21 Maj 2001, 14:53:26 CEST


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;

IMHO to jest pewniejsze, niż ostatio promowane snprintf() przy którym
trudno stwierdzić jaki string się w rzeczywistości dostanie.

Pozdrowienia,
        Jacek



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