[Top][All Lists]

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

[Axiom-developer] Issue 330.

From: Waldek Hebisch
Subject: [Axiom-developer] Issue 330.
Date: Fri, 20 Apr 2007 05:07:26 +0200 (CEST)

Issue 330 just happened to me -- working in Axiom I left gazonk0.fn
file.  Later working as another user I got failures because this
file was present. 

AFAICS to root cause is GCL bug, namely the following sequence:

(defun foo(x) x) (compiler::emit-fn t) (compile 'foo)

leaves trash gazonk0.fn file (the other gazonk files are
correctly erased, but .fn file is left in place).

You may say that the gazonk-name function should prevent the
problem.  But Axiom gazonk-name (and gcl too) checks only if
the gazonk0.lsp (or generally gazonkn.lsp) file is present, it
ignores other gazonk files.  Axiom gazonk-name generates repeatable
names making conflicts extremally likely (gcl-2.6.8 embeds
process id in the name reducing chance for conflict).

We could easily provide better gazonk-name, but it seems that
gazonk files really are a can worms from security point of view.
Trying to find simple and safe way to create temporary files
the best thing (exluding special OS support) probably is
to create (in exclusive mode) temporary directory (using random
names to reduce denial of service attacks) and create gazonk files
inside.  Unfortunatly,  apropriate functions are system specific.

                              Waldek Hebisch

reply via email to

[Prev in Thread] Current Thread [Next in Thread]