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