Commit Graph

2709 Commits

Author SHA1 Message Date
David Cole c75f404065 Merge topic 'kwsys-environ-cleanup'
e48796b KWSys: Fix SystemTools environment memory handling (#13156)
b10c5cb CTest: Simplify environment save/restore
2012-05-01 14:09:12 -04:00
Brad King e48796b26b KWSys: Fix SystemTools environment memory handling (#13156)
The SystemTools::PutEnv function tries to provide the "putenv" API
without leaking memory.  However, the kwsysDeletingCharVector singleton
frees memory that may still be referenced by the environment table,
having been placed there by putenv.  If any static destruction or
processing by an external tool happens after the singleton is destroyed
and accesses the environment it will read invalid memory.

Replace use of putenv with setenv/unsetenv when available.  The latter
manage internal copies of the values passed instead of referencing the
original memory.  When setenv/unsetenv are not available use putenv with
a singleton that removes its values from the environment before freeing
their memory.  This requires an "unputenv" implementation.  On at least
some platforms it must be written in terms of "putenv" because other
APIs are not available and direct modification of the "environ" global
is not safe (e.g. on Windows there is interaction with "wenviron").
Fortunately either putenv("A=") or putenv("A") will remove "A" from the
environment on these platforms.  On other platforms fall back to direct
manipulation of "environ".

Also add UnPutEnv to the API and add a test for the behavior of both.
2012-04-27 08:13:52 -04:00
Brad King 5f807a62a5 KWSys: Remove DateStamp
KWSys is no longer shared in projects via a server-side directory
symlink in CVS.  An automated nightly date stamp commit can no longer be
shared by multiple projects directly.  It needs a per-project replay
robot so the nightly commits end up needing N+1 robots instead of N.
Remove the DateStamp feature because it is no longer useful or
maintained by nightly commits.
2012-04-25 11:40:24 -04:00
KWSys Robot 20ba4fe1bf KWSys Nightly Date Stamp 2012-04-20 09:37:16 -04:00
KWSys Robot 168f38ee5f KWSys Nightly Date Stamp 2012-04-19 00:05:04 -04:00
KWSys Robot 32e0b1975d KWSys Nightly Date Stamp 2012-04-18 00:05:05 -04:00
KWSys Robot 233b5cbaf7 KWSys Nightly Date Stamp 2012-04-17 00:05:04 -04:00
KWSys Robot 31e7fadbb3 KWSys Nightly Date Stamp 2012-04-16 00:05:05 -04:00
KWSys Robot 38ebdf0c33 KWSys Nightly Date Stamp 2012-04-15 00:05:05 -04:00
KWSys Robot b4cb977f76 KWSys Nightly Date Stamp 2012-04-14 00:05:12 -04:00
KWSys Robot ad3d2b450f KWSys Nightly Date Stamp 2012-04-13 00:05:03 -04:00
KWSys Robot 89a67804bf KWSys Nightly Date Stamp 2012-04-12 00:05:05 -04:00
KWSys Robot 621c0893b8 KWSys Nightly Date Stamp 2012-04-11 00:05:04 -04:00
KWSys Robot 797653b8a7 KWSys Nightly Date Stamp 2012-04-10 00:05:05 -04:00
KWSys Robot dcecea3953 KWSys Nightly Date Stamp 2012-04-09 00:05:08 -04:00
KWSys Robot a00aa8ec8c KWSys Nightly Date Stamp 2012-04-08 00:05:09 -04:00
KWSys Robot bad16ab075 KWSys Nightly Date Stamp 2012-04-07 00:05:06 -04:00
KWSys Robot 15f238fd6e KWSys Nightly Date Stamp 2012-04-06 00:05:06 -04:00
KWSys Robot 3f29f755c7 KWSys Nightly Date Stamp 2012-04-05 00:05:07 -04:00
KWSys Robot d19008cd54 KWSys Nightly Date Stamp 2012-04-04 00:05:06 -04:00
KWSys Robot 9ad3fa7e85 KWSys Nightly Date Stamp 2012-04-03 00:05:07 -04:00
KWSys Robot 0454057f8a KWSys Nightly Date Stamp 2012-04-02 00:05:06 -04:00
KWSys Robot 32daddf950 KWSys Nightly Date Stamp 2012-04-01 00:05:07 -04:00
KWSys Robot 41d1a73e5b KWSys Nightly Date Stamp 2012-03-31 00:05:07 -04:00
KWSys Robot 7d99247454 KWSys Nightly Date Stamp 2012-03-30 00:05:06 -04:00
KWSys Robot 43fa86b60f KWSys Nightly Date Stamp 2012-03-29 00:05:09 -04:00
KWSys Robot 3eb3d5f306 KWSys Nightly Date Stamp 2012-03-28 00:05:06 -04:00
KWSys Robot 77ec098b44 KWSys Nightly Date Stamp 2012-03-27 00:05:07 -04:00
KWSys Robot 58db6ac299 KWSys Nightly Date Stamp 2012-03-26 00:05:06 -04:00
KWSys Robot 94c1dcffd6 KWSys Nightly Date Stamp 2012-03-25 00:05:13 -04:00
KWSys Robot c160f63490 KWSys Nightly Date Stamp 2012-03-24 00:05:08 -04:00
KWSys Robot e38e6bdbd3 KWSys Nightly Date Stamp 2012-03-23 00:05:05 -04:00
KWSys Robot 1df40fa188 KWSys Nightly Date Stamp 2012-03-22 00:05:05 -04:00
KWSys Robot 45b27021e5 KWSys Nightly Date Stamp 2012-03-21 00:05:05 -04:00
KWSys Robot f7533740e9 KWSys Nightly Date Stamp 2012-03-20 00:05:07 -04:00
KWSys Robot 9987d9522b KWSys Nightly Date Stamp 2012-03-19 00:05:07 -04:00
KWSys Robot 1bfe81e01e KWSys Nightly Date Stamp 2012-03-18 00:05:05 -04:00
KWSys Robot 6330f67a25 KWSys Nightly Date Stamp 2012-03-17 00:05:07 -04:00
KWSys Robot b4f949a3dd KWSys Nightly Date Stamp 2012-03-16 00:05:07 -04:00
KWSys Robot acc3862d0a KWSys Nightly Date Stamp 2012-03-15 00:05:05 -04:00
KWSys Robot 50fe2c6460 KWSys Nightly Date Stamp 2012-03-14 00:05:08 -04:00
KWSys Robot 738d94f57e KWSys Nightly Date Stamp 2012-03-13 00:05:06 -04:00
KWSys Robot 3551844a81 KWSys Nightly Date Stamp 2012-03-12 00:05:05 -04:00
KWSys Robot 335b6592dd KWSys Nightly Date Stamp 2012-03-11 00:05:10 -05:00
KWSys Robot 71c16e457c KWSys Nightly Date Stamp 2012-03-10 00:05:06 -05:00
KWSys Robot c7bdef5b48 KWSys Nightly Date Stamp 2012-03-09 00:05:04 -05:00
KWSys Robot 3a36fa9971 KWSys Nightly Date Stamp 2012-03-08 00:05:06 -05:00
KWSys Robot 285f0db9f4 KWSys Nightly Date Stamp 2012-03-07 00:05:05 -05:00
KWSys Robot ec50093be7 KWSys Nightly Date Stamp 2012-03-06 00:05:18 -05:00
KWSys Robot 17a099dd13 KWSys Nightly Date Stamp 2012-03-05 00:05:06 -05:00
KWSys Robot 76bff60292 KWSys Nightly Date Stamp 2012-03-04 00:05:09 -05:00
KWSys Robot ac2979e4b3 KWSys Nightly Date Stamp 2012-03-03 00:05:08 -05:00
KWSys Robot 65dfe9e5be KWSys Nightly Date Stamp 2012-03-02 00:05:05 -05:00
KWSys Robot 3d8028841d KWSys Nightly Date Stamp 2012-03-01 00:05:06 -05:00
KWSys Robot 4fd479816d KWSys Nightly Date Stamp 2012-02-29 00:05:04 -05:00
KWSys Robot 26519d591e KWSys Nightly Date Stamp 2012-02-28 00:05:06 -05:00
KWSys Robot 00daeff02b KWSys Nightly Date Stamp 2012-02-27 00:05:06 -05:00
KWSys Robot 08ff8727af KWSys Nightly Date Stamp 2012-02-26 00:05:05 -05:00
KWSys Robot f3fe73da54 KWSys Nightly Date Stamp 2012-02-25 00:05:05 -05:00
KWSys Robot 2437b40933 KWSys Nightly Date Stamp 2012-02-24 00:05:06 -05:00
KWSys Robot e8e964f675 KWSys Nightly Date Stamp 2012-02-23 00:05:06 -05:00
KWSys Robot 6a1c5a3569 KWSys Nightly Date Stamp 2012-02-22 00:05:07 -05:00
KWSys Robot cffebe643c KWSys Nightly Date Stamp 2012-02-21 00:05:05 -05:00
KWSys Robot dc4c24ac79 KWSys Nightly Date Stamp 2012-02-20 00:05:06 -05:00
KWSys Robot e316cbbbc3 KWSys Nightly Date Stamp 2012-02-19 00:05:09 -05:00
KWSys Robot bfbb575086 KWSys Nightly Date Stamp 2012-02-18 00:05:12 -05:00
KWSys Robot d03606a19c KWSys Nightly Date Stamp 2012-02-17 00:05:08 -05:00
KWSys Robot e2042b68d3 KWSys Nightly Date Stamp 2012-02-16 00:05:07 -05:00
KWSys Robot a8b5714935 KWSys Nightly Date Stamp 2012-02-15 00:05:04 -05:00
KWSys Robot 5b016a23d0 KWSys Nightly Date Stamp 2012-02-14 00:05:06 -05:00
KWSys Robot f17d3f58d6 KWSys Nightly Date Stamp 2012-02-13 00:05:08 -05:00
KWSys Robot 62952bc9b4 KWSys Nightly Date Stamp 2012-02-12 00:05:07 -05:00
KWSys Robot 677047dda0 KWSys Nightly Date Stamp 2012-02-11 00:05:07 -05:00
KWSys Robot 0fcf69d72f KWSys Nightly Date Stamp 2012-02-10 00:05:05 -05:00
KWSys Robot 16b1a6e4e0 KWSys Nightly Date Stamp 2012-02-09 00:05:06 -05:00
KWSys Robot 59ecc2c8ac KWSys Nightly Date Stamp 2012-02-08 00:05:06 -05:00
KWSys Robot 45bba99538 KWSys Nightly Date Stamp 2012-02-07 00:05:07 -05:00
KWSys Robot e130d3ece4 KWSys Nightly Date Stamp 2012-02-06 00:05:09 -05:00
KWSys Robot 34cc537132 KWSys Nightly Date Stamp 2012-02-05 00:05:09 -05:00
KWSys Robot a1979dc0e9 KWSys Nightly Date Stamp 2012-02-04 00:05:06 -05:00
KWSys Robot 46a734cdbd KWSys Nightly Date Stamp 2012-02-03 00:05:06 -05:00
KWSys Robot e858440185 KWSys Nightly Date Stamp 2012-02-02 00:05:06 -05:00
KWSys Robot b2215bdb26 KWSys Nightly Date Stamp 2012-02-01 00:05:08 -05:00
KWSys Robot 7ac717c079 KWSys Nightly Date Stamp 2012-01-31 00:05:06 -05:00
KWSys Robot ba4a9f726d KWSys Nightly Date Stamp 2012-01-30 00:05:08 -05:00
KWSys Robot 7f2b3a591e KWSys Nightly Date Stamp 2012-01-29 00:05:07 -05:00
KWSys Robot e2bb4dae20 KWSys Nightly Date Stamp 2012-01-28 00:05:21 -05:00
KWSys Robot 2184cc6469 KWSys Nightly Date Stamp 2012-01-27 00:05:07 -05:00
KWSys Robot 208569f1da KWSys Nightly Date Stamp 2012-01-26 00:05:05 -05:00
KWSys Robot 31c53c288c KWSys Nightly Date Stamp 2012-01-25 00:05:06 -05:00
KWSys Robot 99180a0bb2 KWSys Nightly Date Stamp 2012-01-24 00:05:16 -05:00
KWSys Robot 86c9604f98 KWSys Nightly Date Stamp 2012-01-23 00:05:11 -05:00
KWSys Robot 3be1282fd3 KWSys Nightly Date Stamp 2012-01-22 00:05:05 -05:00
KWSys Robot a668c9f059 KWSys Nightly Date Stamp 2012-01-21 00:05:04 -05:00
KWSys Robot b8ff1c1e72 KWSys Nightly Date Stamp 2012-01-20 00:05:03 -05:00
KWSys Robot f2baff920e KWSys Nightly Date Stamp 2012-01-19 00:05:08 -05:00
KWSys Robot b2838626dd KWSys Nightly Date Stamp 2012-01-18 00:05:03 -05:00
KWSys Robot 795221775a KWSys Nightly Date Stamp 2012-01-17 00:05:03 -05:00
KWSys Robot 038ba372fa KWSys Nightly Date Stamp 2012-01-16 00:05:04 -05:00
KWSys Robot 9188dafac1 KWSys Nightly Date Stamp 2012-01-15 00:05:03 -05:00
KWSys Robot c121f3f5c4 KWSys Nightly Date Stamp 2012-01-14 00:05:03 -05:00
KWSys Robot 50edbf0f22 KWSys Nightly Date Stamp 2012-01-13 00:05:04 -05:00
KWSys Robot c89ee4a10f KWSys Nightly Date Stamp 2012-01-12 00:05:10 -05:00
KWSys Robot bbed901178 KWSys Nightly Date Stamp 2012-01-11 00:05:34 -05:00
KWSys Robot 0020fc4517 KWSys Nightly Date Stamp 2012-01-10 00:05:04 -05:00
KWSys Robot 99a9205b4b KWSys Nightly Date Stamp 2012-01-09 00:05:03 -05:00
KWSys Robot e0d1e7e085 KWSys Nightly Date Stamp 2012-01-08 00:05:09 -05:00
KWSys Robot cad7508615 KWSys Nightly Date Stamp 2012-01-07 00:05:06 -05:00
KWSys Robot 2858f3433a KWSys Nightly Date Stamp 2012-01-06 00:05:03 -05:00
KWSys Robot a823d88149 KWSys Nightly Date Stamp 2012-01-05 00:05:03 -05:00
KWSys Robot d6f59a5293 KWSys Nightly Date Stamp 2012-01-04 00:05:09 -05:00
KWSys Robot df224727cf KWSys Nightly Date Stamp 2012-01-03 00:05:08 -05:00
KWSys Robot 40aedcbbae KWSys Nightly Date Stamp 2012-01-02 00:05:04 -05:00
KWSys Robot 7ce47e6908 KWSys Nightly Date Stamp 2012-01-01 00:05:04 -05:00
KWSys Robot 3a29d37b16 KWSys Nightly Date Stamp 2011-12-31 00:05:04 -05:00
KWSys Robot add4ad1098 KWSys Nightly Date Stamp 2011-12-30 00:05:04 -05:00
KWSys Robot 15cebeb047 KWSys Nightly Date Stamp 2011-12-29 00:05:05 -05:00
KWSys Robot 38bc4b5d9e KWSys Nightly Date Stamp 2011-12-28 00:05:03 -05:00
KWSys Robot 11385ba56a KWSys Nightly Date Stamp 2011-12-27 00:05:04 -05:00
KWSys Robot 6eb0779dbe KWSys Nightly Date Stamp 2011-12-26 00:05:03 -05:00
KWSys Robot 087b8feee4 KWSys Nightly Date Stamp 2011-12-25 00:05:03 -05:00
KWSys Robot 4fe0206e92 KWSys Nightly Date Stamp 2011-12-24 00:05:04 -05:00
KWSys Robot 9fc5faceea KWSys Nightly Date Stamp 2011-12-23 00:05:05 -05:00
KWSys Robot b81ef0533c KWSys Nightly Date Stamp 2011-12-22 00:05:19 -05:00
KWSys Robot b4c2f40653 KWSys Nightly Date Stamp 2011-12-21 00:05:03 -05:00
KWSys Robot 4e98500012 KWSys Nightly Date Stamp 2011-12-20 00:05:03 -05:00
KWSys Robot 4bb3edfcb4 KWSys Nightly Date Stamp 2011-12-19 00:05:03 -05:00
KWSys Robot 84094cd155 KWSys Nightly Date Stamp 2011-12-18 00:05:03 -05:00
KWSys Robot 61da11ecd7 KWSys Nightly Date Stamp 2011-12-17 00:05:11 -05:00
KWSys Robot b15071791c KWSys Nightly Date Stamp 2011-12-16 00:05:04 -05:00
Brad King c544545c63 KWSys: Correctly handle empty environment variables
Fix a crash which occurs when SystemTools::GetPath attempts to process
an empty environment variable.

Author: Vladimir Panteleev <vladimir@thecybershadow.net>
2011-12-15 15:45:09 -05:00
KWSys Robot 0a6543d957 KWSys Nightly Date Stamp 2011-12-15 00:05:09 -05:00
KWSys Robot 4ed1769186 KWSys Nightly Date Stamp 2011-12-14 00:05:05 -05:00
KWSys Robot 3c101429a4 KWSys Nightly Date Stamp 2011-12-13 00:05:03 -05:00
KWSys Robot 99771d55be KWSys Nightly Date Stamp 2011-12-12 00:05:04 -05:00
KWSys Robot 53455f938b KWSys Nightly Date Stamp 2011-12-11 00:05:05 -05:00
KWSys Robot 85344d767b KWSys Nightly Date Stamp 2011-12-10 00:05:04 -05:00
KWSys Robot 33c24b2100 KWSys Nightly Date Stamp 2011-12-09 00:05:08 -05:00
KWSys Robot e61d2ded80 KWSys Nightly Date Stamp 2011-12-08 00:05:03 -05:00
KWSys Robot 6fb2a38b0a KWSys Nightly Date Stamp 2011-12-07 00:05:03 -05:00
KWSys Robot 759323ad0b KWSys Nightly Date Stamp 2011-12-06 00:05:06 -05:00
KWSys Robot e0bc42aa4f KWSys Nightly Date Stamp 2011-12-05 00:05:05 -05:00
KWSys Robot e21e5cf289 KWSys Nightly Date Stamp 2011-12-04 00:05:11 -05:00
KWSys Robot 901e6d023f KWSys Nightly Date Stamp 2011-12-03 00:05:06 -05:00
KWSys Robot 8bda047b8e KWSys Nightly Date Stamp 2011-12-02 00:05:04 -05:00
KWSys Robot 0393aa61d1 KWSys Nightly Date Stamp 2011-12-01 00:05:04 -05:00
KWSys Robot 17388037fd KWSys Nightly Date Stamp 2011-11-30 00:05:04 -05:00
KWSys Robot 89f6fbaae3 KWSys Nightly Date Stamp 2011-11-29 00:05:04 -05:00
KWSys Robot 912c02c682 KWSys Nightly Date Stamp 2011-11-28 00:05:05 -05:00
KWSys Robot 10c3113464 KWSys Nightly Date Stamp 2011-11-27 00:05:05 -05:00