On Fri, 19 Jan 2007, Otto Moerbeek wrote:

> > > It's systrace not capable of allocating mem for the args to
> > > rename(2). The args are replaced by their canonical path (which is
> > > absolute and thus quite long) and systrace uses the stackgap of 512
> > > bytes for that. Obviously two path names of each more than 300 chars
> > > won't fit.
> 
> > If the limit on a canonical path is 1024 bytes and you need two such 
> > paths/strings for rename(2), then the result is you need 2048 bytes 
> > available and the 512 byte limit of the stackgap should be considered a 
> > bug. It seems you can't use systrace with the system as it's #defined.
> > 
> > I expect people will want to use systrace on unarj when doing antivirus 
> > scanning inside the ARJ archives with clamav. Unfortunately, the 
> > current unarj port does not do any length checking on path/file names 
> > during extraction so I'm trying to add checking. If the archive 
> > contains brutally long path/file names, I expect it will get clobbered 
> > by systrace. -any suggestions?
> 
> Resarch to find out if increasing the stackgap is feasible has been
> stalled for a while. But I will pick it up again. I know it can be
> done on most archs, but e.g. vax has some more strict limits, so great
> care has to be taken. 

The stackgap in -current has just been cranked to 2k.

        -Otto

Reply via email to