Bugtraq mailing list archives

Antwort: Re: Bug in WinNT 4.0 SP4


From: tschweikle () FIDUCIA DE (tschweikle () FIDUCIA DE)
Date: Tue, 27 Apr 1999 21:03:52 +0200


 David LeBlanc wrote:
At 03:15 PM 4/19/99 +-200, Alvaro Gilabert wrote:
Hi,
I supose it is a bug and I will explain why do I think so
You can exceed the limit in the number of chars allowed in a filename.
WinNT does allow it. You can move a folder to a deeper one exceeding it.

That's because the limit isn't where you think it is.  From the
documentation on CreateFile in the SDK:

Windows NT: You can use paths longer than MAX_PATH characters by calling
the wide (W) version of CreateFile and prepending *\\?\* to the path. The
*\\?\* tells the function to turn off path parsing. This lets you use paths
that are nearly 32,000 Unicode characters long. You must use
fully-qualified paths with this technique. This also works with UNC names.
The *\\?\* is ignored as part of the path. For example,
*\\?\C:\myworld\private* is seen as *C:\myworld\private*, and
*\\?\UNC\tom_1\hotstuff\coolapps* is seen as *\\tom_1\hotstuff\coolapps*.
===============================

So it seems that if you use the APIs properly, you can deal with extremely
long paths.  When you move things around, it is very likely that you are
dealing with relative names, not absolute names.


David LeBlanc
dleblanc () mindspring com



While following this tread I tried it out. View seconds later my NT server
rebooted.

Trying to create a 'reboot-server-path' from a client - impossible. Seems as if
such path must be created from server console. But what about a carefully
designed program installabel on the server, using the wide variant to create
directories - creating paths exceeding MAX_PATH then setting a share to such a
program?

WinNT crashes within this scenario, every time a client wants to access this
share.
One simpler scenario: install a service. Exceed MAX_PATH. Start this service at
system startup - watch the server rebooting.

THIS IS A BUG - No excuse.

---
Thomas Schweikle <tschweikle () fiducia de>



Current thread: