Replace strcat with strlcat

This commit is contained in:
o9000
2017-12-21 11:42:07 +01:00
parent c96201930b
commit 67e25b8102
11 changed files with 112 additions and 22 deletions

View File

@@ -25,6 +25,7 @@ set(SOURCES ../util/common.c
../util/timer.c
../config.c
../util/server.c
../util/strlcat.c
../launcher/apps-common.c
../launcher/icon-theme-common.c
md4.c

View File

@@ -20,6 +20,7 @@
#include "gui.h"
#include "background_gui.h"
#include "gradient_gui.h"
#include "strlcat.h"
GtkWidget *panel_width, *panel_height, *panel_margin_x, *panel_margin_y, *panel_padding_x, *panel_padding_y,
*panel_spacing;
@@ -1256,7 +1257,8 @@ gboolean panel_contains(const char *value)
char *get_panel_items()
{
char *result = calloc(1, 256 * sizeof(char));
size_t buf_size = 256;
char *result = calloc(buf_size, 1);
GtkTreeModel *model = GTK_TREE_MODEL(panel_items);
GtkTreeIter i;
@@ -1267,7 +1269,7 @@ char *get_panel_items()
while (1) {
gchar *v;
gtk_tree_model_get(model, &i, itemsColValue, &v, -1);
strcat(result, v);
strlcat(result, v, buf_size);
if (!gtk_tree_model_iter_next(model, &i)) {
break;

View File

@@ -69,23 +69,23 @@ void config_read_file(const char *path)
if (!config_has_panel_items) {
char panel_items[256];
panel_items[0] = 0;
strcat(panel_items, "T");
strlcat(panel_items, "T", sizeof(panel_items));
if (config_has_battery) {
if (config_battery_enabled)
strcat(panel_items, "B");
strlcat(panel_items, "B", sizeof(panel_items));
} else {
if (no_items_battery_enabled)
strcat(panel_items, "B");
strlcat(panel_items, "B", sizeof(panel_items));
}
if (config_has_systray) {
if (config_systray_enabled)
strcat(panel_items, "S");
strlcat(panel_items, "S", sizeof(panel_items));
} else {
if (no_items_systray_enabled)
strcat(panel_items, "S");
strlcat(panel_items, "S", sizeof(panel_items));
}
if (no_items_clock_enabled)
strcat(panel_items, "C");
strlcat(panel_items, "C", sizeof(panel_items));
set_panel_items(panel_items);
}
}
@@ -242,13 +242,13 @@ void config_write_backgrounds(FILE *fp)
char sides[10];
sides[0] = '\0';
if (sideTop)
strcat(sides, "T");
strlcat(sides, "T", sizeof(sides));
if (sideBottom)
strcat(sides, "B");
strlcat(sides, "B", sizeof(sides));
if (sideLeft)
strcat(sides, "L");
strlcat(sides, "L", sizeof(sides));
if (sideRight)
strcat(sides, "R");
strlcat(sides, "R", sizeof(sides));
fprintf(fp, "border_sides = %s\n", sides);
fprintf(fp, "border_content_tint_weight = %d\n", (int)(border_weight));

View File

@@ -207,7 +207,7 @@ gboolean update_snapshot(gpointer ignored)
char hash[MD4_HEX_SIZE + 4];
md4hexf(path, hash);
strcat(hash, ".png");
strlcat(hash, ".png", sizeof(hash));
gchar *snap = g_build_filename(g_get_user_cache_dir(), "tint2", hash, NULL);
pixbuf = force_refresh ? NULL : gdk_pixbuf_new_from_file(snap, NULL);