[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tyndur-devel] [PATCH] libc: Fehlerbehandlung fuer init_execute()



Am Freitag, 29. Mai 2009 16:09 schrieb Antoine Kaufmann:
> ! libc: Fehlerbehandlung fuer init_execute(""). Bis jetzt gab das schoen
>         rot.
>
> Signed-off-by: Antoine Kaufmann <toni@xxxxxxxxxx>

Diese Prüfung ist schon drin, nur ein paar Zeilen zu tief. Die sollte man also 
einfach nur verschieben.

Übrigens gut, daß wir noch keine Dateirechte implementiert haben, in das 
access gehört nämlich ein X_OK, kein R_OK. ;-)

> ---
>  src/modules/lib/init.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/src/modules/lib/init.c b/src/modules/lib/init.c
> index 59ce869..ae6f362 100644
> --- a/src/modules/lib/init.c
> +++ b/src/modules/lib/init.c
> @@ -110,7 +110,10 @@ pid_t init_execute(const char* cmd)
>      program[program_len] = 0;
>
>      // Pruefen ob es sich um einen Pfad handelt
> -    abs_path = io_get_absolute_path(program);
> +    if (!(abs_path = io_get_absolute_path(program))) {
> +        return 0;
> +    }
> +
>      if (access(abs_path, R_OK) != 0) {
>          // Den absoluten Pfad freigeben
>          free(abs_path);