You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-arcade/abe/files/abe-1.1-format-security.patch

89 lines
2.5 KiB

Fix build failure with -Werror=format-security
--- ./src/Game.c
+++ ./src/Game.c
@@ -6,21 +6,14 @@ Game game;
// path_sprintf should not be used by other .c files, as it does not fit for them.
static void
-path_sprintf(char *path, char *formatted_name, int version)
+path_sprintf(char *path, const char *name, int version)
{
-
- int len;
-
- printf("path_sprintf (%p, %s, %d)\n", path, formatted_name, version);
-
- strcpy(path, getSaveGameDir());
-
- len = strlen(path);
-
if(1 == version) {
- sprintf(path + len, formatted_name);
+ printf("path_sprintf (%p, %s.dat, %d)\n", path, name, version);
+ sprintf(path, "%s%s.dat", getSaveGameDir(), name);
} else {
- sprintf(path + len, formatted_name, version);
+ printf("path_sprintf (%p, %s%d.dat, %d)\n", path, name, version, version);
+ sprintf(path, "%s%s%d.dat", getSaveGameDir(), name, version);
}
}
@@ -30,14 +23,14 @@ deleteSavedGame()
{
char path[PATH_SIZE];
// version 2
- path_sprintf(path, "save%d.dat", GAME_VERSION);
+ path_sprintf(path, "save", GAME_VERSION);
remove(path);
- path_sprintf(path, "savedmap%d.dat", GAME_VERSION);
+ path_sprintf(path, "savedmap", GAME_VERSION);
remove(path);
// version 1
- path_sprintf(path, "save.dat", 1);
+ path_sprintf(path, "save", 1);
remove(path);
- path_sprintf(path, "savedmap.dat", 1);
+ path_sprintf(path, "savedmap", 1);
remove(path);
}
@@ -51,7 +44,7 @@ saveGame()
mkshuae();
- path_sprintf(path, "save%d.dat", GAME_VERSION);
+ path_sprintf(path, "save", GAME_VERSION);
if(!(fp = fopen(path, "wb"))) {
err = strerror(errno);
@@ -79,7 +72,7 @@ saveGame()
SDL_RWclose(rwop);
// save the map
- path_sprintf(path, "savedmap%d.dat", GAME_VERSION);
+ path_sprintf(path, "savedmap", GAME_VERSION);
saveMapPath(path);
}
@@ -96,7 +89,7 @@ loadGame()
version = (int) GAME_VERSION;
// load the map
- path_sprintf(path, "savedmap%d.dat", GAME_VERSION);
+ path_sprintf(path, "savedmap", GAME_VERSION);
if(!loadMapPath(path, 0)) {
// if can't find saved map load static map
fprintf(stderr,
@@ -112,9 +105,9 @@ loadGame()
// try to find a saved game of any version
while(version > 0) {
if(version > 1) {
- path_sprintf(path, "save%d.dat", version);
+ path_sprintf(path, "save", version);
} else { // By Pedro: version==1
- path_sprintf(path, "save.dat", version);
+ path_sprintf(path, "save", version);
}
fprintf(stderr, "Trying to load saved game: %s\n", path);
fflush(stderr);