reactos/base
Hermès Bélusca-Maïto ec0cc847b9
[ATTRIB] De-duplicate code; handle reparse points; verify path concatenation (#4215)
- Simplify duplicated code by having one EnumFiles() function using
  callbacks to perform actual action on enumerated files.

  PrintAttribute() and ChangeAttribute() duplicate their functionality,
  except for the actual difference of displaying the file attributes vs.
  changing them.
  Instead, move that per-file action into two callbacks, create a file
  enumerator function that contains the common functionality, and make
  it call the callback passed in parameter to it.

- Reparse points can be encountered during enumeration. In this case,
  don't try to go into too many reparse-point levels (maximum two).

- Verify that paths/file names concatenation don't overflow (with the
  StringCch* functions returning an error), as this could cause an
  infinite loop in case of recursive-enumeration, and the position where
  the new path part would be appended turns out to be just at the end
  of the buffer.
2023-08-11 13:49:27 +02:00
..
applications [ATTRIB] De-duplicate code; handle reparse points; verify path concatenation (#4215) 2023-08-11 13:49:27 +02:00
services [UMPNPMGR] PNP_Get(First/Next)LogConf: return proper tags for the resource list case 2023-06-29 18:06:02 +02:00
setup [USETUP] Update Portuguese (pt-PT) translation (#5508) 2023-08-09 11:54:52 +02:00
shell [EXPLORER] Set icon size and show or hide desktop button from taskbar properties (#5510) 2023-08-10 17:06:55 +02:00
system [TRANSLATION] Update Portuguese (pt-PT) translation (#5414) 2023-07-10 22:04:31 +03:00
CMakeLists.txt Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00