From 2edd6dbd0222c2a3fa6e44e16eb58043c1565a29 Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Sat, 6 Dec 2008 20:02:40 +0100 Subject: [PATCH] Limit the alias size -> 256 --- src/config.c | 9 ++++++--- src/event.c | 2 +- src/infobar.c | 6 ++---- src/structs.h | 2 +- src/wmfs.c | 2 -- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/config.c b/src/config.c index 9b4a164..c718339 100644 --- a/src/config.c +++ b/src/config.c @@ -369,10 +369,8 @@ init_conf(void) cfg_keys = cfg_getsec(cfg, "keys"); /* alias */ - if(cfg_size(cfg_alias, "alias")) + if(cfg_size(cfg_alias, "alias") < 256) { - conf.alias = emalloc(cfg_size(cfg_alias, "alias"), sizeof(Alias)); - for(i = 0; i < cfg_size(cfg_alias, "alias"); ++i) { cfgtmp = cfg_getnsec(cfg_alias, "alias", i); @@ -380,6 +378,11 @@ init_conf(void) conf.alias[i].content = strdup(cfg_getstr(cfgtmp, "content")); } } + else + { + fprintf(stderr,"WMFS Configuration: Too many alias (%d) !\n", cfg_size(cfg_alias, "alias")); + exit(EXIT_FAILURE); + } /* misc */ conf.font = alias_to_str(strdup(cfg_getstr(cfg_misc, "font"))); diff --git a/src/event.c b/src/event.c index 562687e..98724a4 100644 --- a/src/event.c +++ b/src/event.c @@ -72,7 +72,7 @@ buttonpress(XButtonEvent *ev) conf.root.mouse[i].func(conf.root.mouse[i].cmd); /* Tag */ - for(i = 1; i < conf.ntag[screen_get_sel()]+ 1; ++i) + for(i = 1; i < conf.ntag[selscreen] + 1; ++i) { ITOA(s, i); if(ev->window == infobar[selscreen].tags[i]->win) diff --git a/src/infobar.c b/src/infobar.c index d3c8777..9656daf 100644 --- a/src/infobar.c +++ b/src/infobar.c @@ -148,11 +148,9 @@ infobar_draw_taglist(int sc) if(tags[sc][i].name) draw_text(infobar[sc].tags[i]->dr, - PAD / 2, - font->height, + PAD / 2, font->height, ((i == seltag[sc]) ? conf.colors.tagselfg : conf.colors.text), - 0, - tags[sc][i].name); + 0, tags[sc][i].name); barwin_refresh(infobar[sc].tags[i]); } diff --git a/src/structs.h b/src/structs.h index aeb73d7..7f25c0d 100644 --- a/src/structs.h +++ b/src/structs.h @@ -212,7 +212,7 @@ typedef struct MouseBinding *mouse; int nmouse; } titlebar; - Alias *alias; + Alias alias[256]; Tag tag[MAXTAG]; Layout layout[NUM_OF_LAYOUT]; int *ntag; diff --git a/src/wmfs.c b/src/wmfs.c index d87d79e..26cde84 100644 --- a/src/wmfs.c +++ b/src/wmfs.c @@ -111,8 +111,6 @@ quit(void) free(conf.titlebar.mouse); free(conf.client.mouse); free(conf.root.mouse); - if(conf.alias) - free(conf.alias); XSync(dpy, False); return;