Commit Graph
28539 Commits
Author SHA1 Message Date
Kitware Robot 8d13e9c1f5 CMake Nightly Date Stamp 2017-09-04 00:01:10 -04:00
Kitware Robot de64329232 CMake Nightly Date Stamp 2017-09-03 00:01:04 -04:00
Kitware Robot dd9d0ef83f CMake Nightly Date Stamp 2017-09-02 00:01:07 -04:00
Rolf Eike Beer 353ec23737 use static_cast<> for casts from void* 2017-09-01 20:50:00 +02:00
Brad King cbf2017822 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-09-01 (aee0cf59)
2017-09-01 10:35:19 -04:00
Brad King 671cc7490c Merge topic 'server-refactor'
0e4d5033 server: Added thread check to protect writedata
124424e9 server: Protect several fields from potentially pointing to bad memory
693fa0a9 server: Added assert to monitor uv_run status
882dcef8 server: Made connections in a server have a mutex to avoid use after frees
7ef28843 server: Moved buffer formatting into bufferstrategy
dc7a18d8 server: test buffer parsing
f8fd5a97 server: Made stdio connection accept different types of streams
6afc7f88 server: Remove unused fields / functions
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1111
2017-09-01 10:34:16 -04:00
Brad King 4f68692807 Merge topic 'vs-std-cxx17-flag-map'
a46024be VS: Add v141 flag table entry for -std:c++17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1221
2017-09-01 10:26:44 -04:00
Brad King b568a18997 Merge topic 'tll-global-unknown-lib'
a47a8533 target_link_libraries: Allow linking to UNKNOWN IMPORTED GLOBAL libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1220
2017-09-01 10:26:08 -04:00
Brad King bd77717800 Merge topic 'fix-genex-SOURCES'
068cc545 Genex: Fix TARGET_PROPERTY value of SOURCES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1218
2017-09-01 10:25:08 -04:00
Brad King 2820de210b Merge branch 'fix-genex-SOURCES' into release-3.9
Merge-request: !1218
2017-09-01 10:24:12 -04:00
Brad King 068cc545d9 Genex: Fix TARGET_PROPERTY value of SOURCES
Refactoring in commit v3.8.0-rc1~445^2~2 (cmTarget: Move sanity checks
and computed property access to callers, 2016-10-13) exposed a typo in
commit v3.8.0-rc1~445^2~3 (cmGeneratorTarget: Implement
cmTargetPropertyComputer interface, 2016-10-13).  Together they broke
the `$<TARGET_PROPERTY:mytgt,SOURCES>` generator expression in the case
that the `SOURCES` target property is populated in part by the
`target_sources` command.  Add the missing `;`-separator.

Fixes: #17243
2017-09-01 10:23:37 -04:00
Kitware Robot d75ccb1ce0 CMake Nightly Date Stamp 2017-09-01 00:01:08 -04:00
Justin Berger 0e4d503384 server: Added thread check to protect writedata 2017-08-31 15:35:46 -04:00
Justin Berger 124424e997 server: Protect several fields from potentially pointing to bad memory 2017-08-31 15:35:46 -04:00
Justin Berger 693fa0a96e server: Added assert to monitor uv_run status 2017-08-31 15:35:46 -04:00
Justin Berger 882dcef8e0 server: Made connections in a server have a mutex to avoid use after frees 2017-08-31 15:35:44 -04:00
Justin Berger 7ef2884361 server: Moved buffer formatting into bufferstrategy 2017-08-31 15:35:04 -04:00
Justin Berger f8fd5a979c server: Made stdio connection accept different types of streams 2017-08-31 15:35:04 -04:00
Justin Berger 6afc7f8828 server: Remove unused fields / functions 2017-08-31 15:35:03 -04:00
Justin Berger 1a50cd8c68 server: Fixed minor memory leaks 2017-08-31 15:35:03 -04:00
Justin Berger 546a587469 server: Fixed mismatched new/delete; added proper shutdown procedure 2017-08-31 15:35:03 -04:00
Brad King a46024be87 VS: Add v141 flag table entry for -std:c++17
Fixes: #17171
2017-08-31 14:59:34 -04:00
Brad King a47a853376 target_link_libraries: Allow linking to UNKNOWN IMPORTED GLOBAL libs
This combination was accidentally rejected.  Allow it and add a test.

Fixes: #17245
2017-08-31 13:10:26 -04:00
Brad King 4f96641ba2 Merge topic 'cxx11-clang-format'
4022b286 clang-tidy: blacklist "modernize" checks
2b4c32c9 clang-format: format all code as Cpp11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1191
2017-08-31 10:12:18 -04:00
Brad King 96c882dcba Merge topic 'lexer-null'
14d9a11b ListFileLexer: fix heap-buffer-overflow on malicious input

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1153
2017-08-31 10:08:18 -04:00
Kitware Robot b4efc1936a CMake Nightly Date Stamp 2017-08-31 00:01:11 -04:00
Matthias Maennich 14d9a11be9 ListFileLexer: fix heap-buffer-overflow on malicious input
In case a list file contains a null terminated string that is continued
until a later space, the lexer token information got inconsistent:

e.g. an argument   "TEST\0FOOBAR"    is passed by the lexer as a token

char* = "TEST\0FOOBAR" and length 11
             ^^ note: ascii 0x00

Using strdup in cmListFileLexer leads lexer->token.text to be allocated
with size 5 and lexer->token.length to be set to 11

A subsequent call to this function with an argument of  5 < length <= 11
wrongly assumed a sufficiently sized buffer and therefore corrupted the
heap buffer. The program might crash due to this corruption.
The case "NullTerminatedArgument" is intentionally using a quite large
'rest' to increase the chance to actually hit the issue. It will reliably
crash with address sanitizer enabled though.

This fix addresses all rules where arbitrary characters are matched to
ignore \0 in order to fall through to the rule that matches an arbitrary
character as BadCharacter.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-08-30 11:28:51 -04:00
Daniel Pfeifer 2b4c32c95f clang-format: format all code as Cpp11 2017-08-30 11:07:05 -04:00
Brad King 82d9bbf2b7 Merge topic 'add-cppcheck'
311b7b1a Add properties to run cppcheck along with the compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1147
2017-08-30 10:55:24 -04:00
Brad King 2df8dbcdf2 Merge topic 'fix-find-package-mode'
18454ea4 cmake: Fix --find-package mode with imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1208
2017-08-30 10:44:36 -04:00
Brad King c23481d051 Merge topic 'cpack-dmg-iwyu'
8c51dbdd cmCPackDragNDropGenerator: Add missing include

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1206
2017-08-30 10:44:09 -04:00
Brad King 34601c3ea0 Merge topic 'codeblocks-dedup'
053d3141 CodeBlocks: Avoid listing files multiple times

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1160
2017-08-30 10:43:30 -04:00
Brad King 72a1af29c2 install: Avoid CMP0054 warning in generated install script
This could happen when an install component is called `TEST`.

Fixes: #17211
2017-08-30 10:33:13 -04:00
Alexandr (Sagrer) Gridnev 053d314140 CodeBlocks: Avoid listing files multiple times
Fixes: #17187
2017-08-30 10:27:24 -04:00
Bill Hoffman 311b7b1a70 Add properties to run cppcheck along with the compiler
Create a `<LANG>_CPPCHECK` target property (initialized by a
`CMAKE_<LANG>_CPPCHECK` variable) to specify a `cppcheck` command line
to be run along with the compiler.
2017-08-30 10:23:46 -04:00
Daniel Pfeifer 7321cfb667 Merge topic 'lexer'
168b97a5 Lexer: add a helper script to automate generating the lexers
376c1395 cmFortranLexer: regenerate with flex 2.6.4 (previously 2.6.1)
80c08c7c cmExprLexer: regenerate with flex 2.6.4 (previously 2.6.1)
59f78dcb cmDependsJavaLexer: regenerate with flex 2.6.4 (previously 2.6.1)
d2e8351a cmCommandArgumentLexer: regenerate with flex 2.6.4 (previously 2.6.1)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1201
2017-08-30 06:45:01 -04:00
Daniel Pfeifer 7ddd43183d Merge topic 'cstyle-casts'
190e3825 Replace C-style casts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1176
2017-08-30 06:38:00 -04:00
Kitware Robot e0713a6b95 CMake Nightly Date Stamp 2017-08-30 00:01:09 -04:00
Brad King 2990799227 Merge branch 'fix-find-package-mode' into release-3.9
Merge-request: !1208
2017-08-29 15:33:24 -04:00
Brad King 18454ea44d cmake: Fix --find-package mode with imported targets
The change in commit v3.9.0-rc1~116^2~6 (cmakemain: use script role for
-P, 2017-05-11) accidentally left project commands out of find-package
mode, causing packages that provide imported targets to break.

Fixes: #17124
2017-08-29 15:30:07 -04:00
Brad King 05840793fd Merge branch 'cpack-dmg-iwyu' into release-3.9
Merge-request: !1206
2017-08-29 11:26:59 -04:00
Brad King 8c51dbdd9b cmCPackDragNDropGenerator: Add missing include
We use `std::sort` and so must include `<algorithm>`.

Issue: #17233
2017-08-29 11:24:36 -04:00
Kitware Robot 5eb6d200f4 CMake Nightly Date Stamp 2017-08-29 00:01:08 -04:00
Matthias Maennich 376c13958d cmFortranLexer: regenerate with flex 2.6.4 (previously 2.6.1)
flex 2.6.3 introduces symbol remapping through macro definitions. hence the
change appears bigger than one would expect from a minor version upgrade.

In addition some manual cleanup that had to be done previously is now
obsolete. namely:
  - the size_t cast of _yybytes_len in yy_scan_bytes
    (i is now also defined int and not size_t anymore)
  - the redefinition of yyl within yy_find_action
    (yyl is now already defined as int)

Line number preprocessor directives (#line) were previously generated into
the c source file. This actually breaks debugging as debuggers have a hard
time finding the original cmFortranLexer.in.l and mapping the current
instruction to a meaningful location within that file.

The prefix "cmFortran_yy" can already be set as %option directly.

For convenience also provide a sed command for all the manual steps that
need to be done after generating.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-08-29 00:34:36 +02:00
Matthias Maennich 80c08c7c0a cmExprLexer: regenerate with flex 2.6.4 (previously 2.6.1)
flex 2.6.3 introduces symbol remapping through macro definitions. hence the
change appears bigger than one would expect from a minor version upgrade.

In addition some manual cleanup that had to be done previously is now
obsolete. namely:
  - the size_t cast of _yybytes_len in yy_scan_bytes
    (i is now also defined int and not size_t anymore)
  - the redefinition of yyl within yy_find_action
    (yyl is now already defined as int)

Line number preprocessor directives (#line) were previously generated into
the c source file. This actually breaks debugging as debuggers have a hard
time finding the original cmExprLexer.in.l and mapping the current
instruction to a meaningful location within that file.

The prefix "cmExpr_yy" can already be set as %option directly.

For convenience also provide a sed command for all the manual steps that
need to be done after generating.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-08-29 00:31:15 +02:00
Matthias Maennich 59f78dcb23 cmDependsJavaLexer: regenerate with flex 2.6.4 (previously 2.6.1)
flex 2.6.3 introduces symbol remapping through macro definitions. hence the
change appears bigger than one would expect from a minor version upgrade.

In addition some manual cleanup that had to be done previously is now
obsolete. namely:
  - the size_t cast of _yybytes_len in yy_scan_bytes
    (i is now also defined int and not size_t anymore)
  - the redefinition of yyl within yy_find_action
    (yyl is now already defined as int)

Line number preprocessor directives (#line) were previously generated into
the c source file. This actually breaks debugging as debuggers have a hard
time finding the original cmDependsJavaLexer.in.l and mapping the current
instruction to a meaningful location within that file.

The prefix "cmDependsJava_yy" can already be set as %option directly.

For convenience also provide a sed command for all the manual steps that
need to be done after generating.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-08-29 00:25:02 +02:00
Matthias Maennich d2e8351a4d cmCommandArgumentLexer: regenerate with flex 2.6.4 (previously 2.6.1)
flex 2.6.3 introduces symbol remapping through macro definitions. hence the
change appears bigger than one would expect from a minor version upgrade.

In addition some manual cleanup that had to be done previously is now
obsolete. namely:
  - the size_t cast of _yybytes_len in yy_scan_bytes
    (i is now also defined int and not size_t anymore)
  - the redefinition of yyl within yy_find_action
    (yyl is now already defined as int)

Line number preprocessor directives (#line) were previously generated into
the c source file. This actually breaks debugging as debuggers have a hard
time finding the original cmCommandArgumentLexer.in.l and mapping the current
instruction to a meaningful location within that file.

The prefix "cmCommandArgument_yy" can already be set as %option directly.

For convenience also provide a sed command for all the manual steps that
need to be done after generating.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-08-29 00:18:06 +02:00
Brad King a6374b88d9 Merge topic 'lexer'
ef41bf85 cmListFileLexer: regenerate with flex 2.6.4 (previously 2.6.1)
9cacb0cb cmListFileLexer: fix 'bail out on seek-errors' also in original file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1185
2017-08-28 09:54:36 -04:00
Brad King 55e281c3b7 Merge topic 'cpackifw-repositories-directories'
5fe64511 CPackIFW: Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1150
2017-08-28 09:53:10 -04:00
Brad King 072296fc16 Merge topic 'gnu-to-ms-ninja-support'
d2d7ae07 Ninja: Implement support for GNUToMS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1165
2017-08-28 09:49:31 -04:00