Freeciv is a Free and Open Source empire-building strategy game inspired by the history of human civilization. Upstream repository for the standalone Freeciv client and server. Report bugs and submit patches at https://redmine.freeciv.org/projects/freeciv https://www.freeciv.org/
  • C 86.5%
  • C++ 7%
  • Python 2.4%
  • M4 1.2%
  • Shell 1%
  • Other 1.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sweet Tea Dorminy 9d0461dad0 cityresult_fill(): Clean up on every early return
cityresult_fill() switches the player's government to the goal
government and, for a virtual city, gives the center tile to the
player for the duration of the evaluation. The restore lives only at
the end of the function, and three early returns skipped it: the
missing city center check leaked the result and the virtual city and
left the government and the tile owner changed, the "all tiles worked"
return left the government changed, and the final sanity checks leaked
the result. Every return now restores and frees what the normal path
does.

See RM #2441

Signed-off-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
2026-11-10 06:31:09 +02:00
.github/workflows CI: Do not install libsdl2-gfx-dev for meson job 2026-11-02 05:06:02 +02:00
ai cityresult_fill(): Clean up on every early return 2026-11-10 06:31:09 +02:00
bootstrap run.sh: Add current working directory to FREECIV_DATA_PATH 2026-10-08 19:58:16 +03:00
client cma_get_parameter(): Fix check against illegal data version 2026-11-09 23:56:30 +02:00
common Drop nonfunctional cm parameter allow_specialists 2026-10-26 22:26:56 +02:00
data Tutorial: Delay tutorial message longer after city founding 2026-11-09 06:27:39 +02:00
dependencies ls_sqlite3.c: Fix dead code 2026-11-05 19:07:36 +02:00
doc Add [Armistice|Ceasefire]_Length_Pct effect types 2026-11-07 07:13:45 +02:00
gen_headers Add [Armistice|Ceasefire]_Length_Pct effect types 2026-11-07 07:13:45 +02:00
lua fcdb: Create sqlite database, if it doesn't exist 2023-09-29 04:10:27 +03:00
m4 Fix configure check for 'C++20 capture this' on clang 2026-10-18 16:35:54 +03:00
platforms emscripten: Preload hexemplio tileset 2026-11-10 05:27:31 +02:00
scripts CI: Explicitly set audio=sdl2 for jobs running on ubuntu-26.04 2026-10-19 21:08:11 +03:00
server diplhand.c: Replace NULL with nullptr 2026-11-09 22:14:28 +02:00
tests Make frozen S3_3 ruleset format the compat version 2026-09-17 22:35:10 +03:00
tools Make unit spec_type nullptr if no specialist defined 2026-10-15 18:00:53 +03:00
translations Msgmerge Swedish translation from S3_2 2026-11-05 20:02:53 +02:00
utility rulesave: Add gt_marking _() to more output strings 2026-10-13 05:28:55 +03:00
.gitignore Main .gitignore: Remove build directory specific files 2024-07-01 08:36:16 +03:00
.mailmap Git: add a .mailcap to fix a bad email address. 2021-02-25 12:41:45 +01:00
ABOUT-NLS Update gettext bootstrap files to gettext-0.20.1 level 2019-05-20 17:36:53 +03:00
AUTHORS Update URLs pointing to wiki to use https 2022-07-05 21:41:13 +03:00
autogen.sh Make 3.7 the minimum python requirement 2025-01-27 23:33:55 +02:00
ChangeLog Update ChangeLog before branching S3_3 2025-01-16 23:21:14 +02:00
ChangeLog-1.0-S3_0 ChangeLogs: Remove trailing spaces 2023-05-09 18:09:33 +03:00
configure.ac Fix configure check for 'C++20 capture this' on clang 2026-10-18 16:35:54 +03:00
COPYING Updated fsf snail mail address 2015-08-11 15:14:09 +00:00
fc_version Msys2 Makefile.meson: Define followtag just once 2026-11-08 08:15:54 +02:00
INSTALL Make sdl3 audio the default 2026-11-01 00:33:17 +02:00
Makefile.am build_tolua.sh: Add 2026-08-11 09:08:52 +03:00
meson.build emscripten: Double TOTAL_MEMORY to 128MB 2026-11-08 00:50:13 +02:00
meson_options.txt Make sdl3 audio the default 2026-11-01 00:33:17 +02:00
NEWS Fix some comment typos 2026-01-03 19:25:43 +02:00
README Move BUGS, HOWTOPLAY, PEOPLE, TODO to doc. 2002-04-11 10:32:37 +00:00
README.md README.md: Instruct bug reporting 2026-05-10 19:24:10 +03:00

Freeciv

Build Status License: GPL v2

Freeciv is a Free and Open Source empire-building strategy game inspired by the history of human civilization.

Please see the doc directory for a complete list of documentation files.

Links

Freeciv website: Freeciv.org

Report bugs & Submit patches: redmine.freeciv.org

Community forum: forum.freeciv.org