[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 4438e6: fix: squeakIniName cannot be both a WCHAR* (sqWin3...

GitHub noreply at github.com
Thu Jan 3 13:12:06 UTC 2019


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 4438e67298bd4466020c20446553c6c38dd2b7b3
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4438e67298bd4466020c20446553c6c38dd2b7b3
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c
    M platforms/win32/vm/sqWin32.h
    M platforms/win32/vm/sqWin32Main.c
    M platforms/win32/vm/sqWin32Prefs.c
    M platforms/win32/vm/sqWin32Window.c

  Log Message:
  -----------
  fix: squeakIniName cannot be both a WCHAR* (sqWin32Security.c) and TCHAR*

Thus maintain the two variants squeakIniNameW and squeakIniNameA
Also fix this invariant: when reading imageNameW from ini file, make sure the ASCII variant is initialized too


  Commit: 76e2ecf05787caf3a90eb22bef622435a59c9617
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/76e2ecf05787caf3a90eb22bef622435a59c9617
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/vm/sqWin32Main.c

  Log Message:
  -----------
  fix: remove superfluous TEXT macro

we're in non UNICODE #ifdef branch, so the macro is void
sprintf (ASCII) of some TEXT (TCHAR*) would not make sense anyway


  Commit: 3b06e9d50720adfb9c64dd5ddb06db032712dd69
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3b06e9d50720adfb9c64dd5ddb06db032712dd69
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/vm/sqWin32Main.c

  Log Message:
  -----------
  fix:  wcsncpy does not necessarily writes the terminating NULL


  Commit: f7d1af84872a1ca1bed1b9c79ed0066f732ac406
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f7d1af84872a1ca1bed1b9c79ed0066f732ac406
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c

  Log Message:
  -----------
  fix: B3DAccelerator: dwState is used un-initialized if value is not 0,1 or 2.


  Commit: 0d88f639c063806b582220c77c533f65d174d707
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0d88f639c063806b582220c77c533f65d174d707
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c

  Log Message:
  -----------
  fix issue #336 potential buffer overrun in sqWin32Midi.c

The cache dimension is only 128, so use mask & 0x7F to make sure that we do not overrun the cache.
I don't know if it could happen, but now we are sure that it can't.


  Commit: eaa36cf28e397d939b96b95849f7c8d2eddc0688
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eaa36cf28e397d939b96b95849f7c8d2eddc0688
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/vm/sqWin32Window.c

  Log Message:
  -----------
  fix: use LoadLibraryA for -DUNICODE compatibility


  Commit: d066799e3ccff36ad96c2b8a65863aee7a4778d3
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d066799e3ccff36ad96c2b8a65863aee7a4778d3
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c
    M platforms/win32/vm/sqWin32Backtrace.c
    M platforms/win32/vm/sqWin32Main.c

  Log Message:
  -----------
  fix: LoadLibrary could fail

thus

- hUser could be NULL
- hPsApi may be NULL
- hAdvApi32 might be NULL

[skip travis] we only have platforms/win32 changes


  Commit: 2bfdddc8ee084394d69ff3b95c93d2850a2716ca
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2bfdddc8ee084394d69ff3b95c93d2850a2716ca
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c

  Log Message:
  -----------
  fix: SecurityPlugin: RegQueryValueExW dwSize is buffer size in bytes

Therefore, it is not the number of characters (WCHAR), but rather twice that number!


  Commit: bf754ec9b8c8ffec1ac958ed12e897c22ae1ce18
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bf754ec9b8c8ffec1ac958ed12e897c22ae1ce18
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c

  Log Message:
  -----------
  SecurityPlugin: prefer wcs* functions to lstr*W

It's more in line with the style of platforms/win32
(though it's still quite noisy)


  Commit: 01cbedd1a13ccf57216d9c6662bb40e5197a46b7
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01cbedd1a13ccf57216d9c6662bb40e5197a46b7
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c

  Log Message:
  -----------
  Fix: securityPlugin: use WideCharToMultiByte and CP_UTF8

It's far more correct than naive sqUTF16toUTF8Copy. This function should be removed.
Therefore, use MAX_PATH_UTF8 to be sure that there is enough room in UTF8 encoded strings.
Add a guard of 1 character to handle terminating NULL


  Commit: ec2e7e96377379bae13ba8e71e2cb7395ecd5a02
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ec2e7e96377379bae13ba8e71e2cb7395ecd5a02
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c

  Log Message:
  -----------
  SecurityPlugin use MultiByteToWideChar rather than sqUTF8toUTF16Copy

The former is the standard and correct implementation
The later is a naive stub

Note: as an internal plugin, we could rather just copy imagePathW...
[skip travis] because sole changes are in platforms/win32


  Commit: 9b485667f433a2863a87452712c58b692fe79e8c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9b485667f433a2863a87452712c58b692fe79e8c
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c

  Log Message:
  -----------
  fix: SecurityPlugin: restore expandMyDocuments

Note: this function was temporarily disabled in minheadless merge.
Note:
  There was no provision for MAX_PATH buffer overrun
  (in fact all the arrays are MAX_PATH+1 long).
  Now abort the replacement when such overrun happens.
  This is not satisfying, we should signal the error...
[skip travis]


  Commit: adbdf2e6511c89a7206bde7265024b23d5ca75b8
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/adbdf2e6511c89a7206bde7265024b23d5ca75b8
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c

  Log Message:
  -----------
  fix SecurityPlugin: revert unfortunate copy/paste

This was from minheadless merge
[skip travis]


  Commit: 87a2f3b4d17626acf7b9a698ef1b9ebb9d6a7307
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/87a2f3b4d17626acf7b9a698ef1b9ebb9d6a7307
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c
    M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c
    M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c
    M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c
    M platforms/win32/vm/sqWin32.h
    M platforms/win32/vm/sqWin32Backtrace.c
    M platforms/win32/vm/sqWin32Main.c
    M platforms/win32/vm/sqWin32Prefs.c
    M platforms/win32/vm/sqWin32Window.c

  Log Message:
  -----------
  Merge pull request #338 from OpenSmalltalk/WIN64_fixes

Win64 fixes


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/7136c67c128d...87a2f3b4d176
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the Vm-dev mailing list