tree 42b89fb039bc15b6c7875cda0d13c8ceac954c63
parent 8c5c9de3f9b87306e8de94d0de3cb8e09c3b8ce3
author David Grayson <davidegrayson@gmail.com> 1489718123 -0700
committer Jonathan Yong <10walls@gmail.com> 1490015168 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE5QrdnbBX9Ppk4bbPcTtf4pwUXUUFAljP08ASHDEwd2FsbHNA
 Z21haWwuY29tAAoJEHE7X+KcFF1FTAAP+wUHSwrVCY2XzrpSd86SjM54O3CbE7iv
 6Qm4stN0rfYNqpXBddd8L9MD/ch4p6hTDydFTTnSRUh0eGa9DngIFEAghPagzNAp
 gmipAQlJ6jbN/VSlrLx8iOYfnY/XwSPgnzeVNqkC6BCRWhikYjyM00S8Hj/b5Cyy
 geF/xlqqV84KAX04/8BX1u1uF0SDZRA11hfI78wFPUDTE1uJe+0S32anAab4fnd3
 NsC6afT83O/U2S+oMZRUvyvsGgDN5vGy8lZn4Prozgu9ZsAMdvaQQ/s1veO0kV2v
 HTZ9X/nqloKbSzfgYJ3z0uL3SAmKSFxjrQUbMiEP97/ifbjswucNSIdhyS1bMJQi
 LsnmX52oMaS8G3yZfPPE/CEp+8LaY3oUpj4+WySHgWNd6QdoKehYIN/6AxWUSw79
 kXaG+U1AiugMV1g3H/oUgVK7b7lMSEel4aP5/u41RW+8ZFo2Xzr3gsVwE6TdRtie
 WGek2gk0l7zC6BpYlc82mKy7Iex8zuLpMOQKpfY7BlKQvs3meFnOBZmbHrRFDD3w
 MB6L/UWquaiTo7iXa1WoqkFmMh++Q8X/vTuuxKYZtEJTElmsNXcziHOBbknLXzRn
 ZxtAE995hITN916RGdtAJu9B9+FOH9QiihSxqn2VQHvzwB8L1b65bVuNiq7SsZcG
 4lTFjOxxAehi
 =dCwu
 -----END PGP SIGNATURE-----

Use LPCVOID instead of 'const LPVOID' for VerQueryValue.

Apparently "const LPVOID" is different from "LPCVOID".  You can see
the difference for yourself by trying to compile this small bit of C
code:

  #include <windows.h>
  void x(const LPVOID);
  void y(LPCVOID);
  void test() {
    const char * data;
    x(data);
    y(data);
  }

Signed-off-by: Liu Hao <lh_mouse@126.com>
(cherry picked from commit 2de76d264f1aeda834cb6613fc054d3270410399)
Signed-off-by: Jonathan Yong <10walls@gmail.com>
