C: system() a vyst. chybovy kod.

Alexandr Malusek malusek na hroch.ujf.cas.cz
Sobota Říjen 28 22:58:14 CEST 2000


"Michal Kolesar" <kolisko na penguin.cz> writes:

> So my program ex.c:
> ------------------------------
> #include <stdarg.h>
> #include <stdio.h>
> #include <string.h>
> #include <errno.h>
> 
> char prikaz[255];
> int I;
> 
> int main(int argc, char **argv){
> strcpy(prikaz, "");
> for (I=1; I < argc; I++){
> strcat(prikaz, argv[I]);
> strcat(prikaz, " ");
> }
> system(prikaz);
> return(errno);
> }


Nahradte volani

system(prikaz); return(errno);

volanim

return execl("/bin/sh", "/bin/sh", "-c", prikaz, NULL);

Taky si osetrete preteceni v promenne "prikaz".

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux