Limit the alias size -> 256

This commit is contained in:
Martin Duquesnoy 2008-12-06 20:02:40 +01:00
parent 9769790a50
commit 2edd6dbd02
5 changed files with 10 additions and 11 deletions

View File

@ -369,10 +369,8 @@ init_conf(void)
cfg_keys = cfg_getsec(cfg, "keys"); cfg_keys = cfg_getsec(cfg, "keys");
/* alias */ /* 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) for(i = 0; i < cfg_size(cfg_alias, "alias"); ++i)
{ {
cfgtmp = cfg_getnsec(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")); 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 */ /* misc */
conf.font = alias_to_str(strdup(cfg_getstr(cfg_misc, "font"))); conf.font = alias_to_str(strdup(cfg_getstr(cfg_misc, "font")));

View File

@ -72,7 +72,7 @@ buttonpress(XButtonEvent *ev)
conf.root.mouse[i].func(conf.root.mouse[i].cmd); conf.root.mouse[i].func(conf.root.mouse[i].cmd);
/* Tag */ /* Tag */
for(i = 1; i < conf.ntag[screen_get_sel()]+ 1; ++i) for(i = 1; i < conf.ntag[selscreen] + 1; ++i)
{ {
ITOA(s, i); ITOA(s, i);
if(ev->window == infobar[selscreen].tags[i]->win) if(ev->window == infobar[selscreen].tags[i]->win)

View File

@ -148,11 +148,9 @@ infobar_draw_taglist(int sc)
if(tags[sc][i].name) if(tags[sc][i].name)
draw_text(infobar[sc].tags[i]->dr, draw_text(infobar[sc].tags[i]->dr,
PAD / 2, PAD / 2, font->height,
font->height,
((i == seltag[sc]) ? conf.colors.tagselfg : conf.colors.text), ((i == seltag[sc]) ? conf.colors.tagselfg : conf.colors.text),
0, 0, tags[sc][i].name);
tags[sc][i].name);
barwin_refresh(infobar[sc].tags[i]); barwin_refresh(infobar[sc].tags[i]);
} }

View File

@ -212,7 +212,7 @@ typedef struct
MouseBinding *mouse; MouseBinding *mouse;
int nmouse; int nmouse;
} titlebar; } titlebar;
Alias *alias; Alias alias[256];
Tag tag[MAXTAG]; Tag tag[MAXTAG];
Layout layout[NUM_OF_LAYOUT]; Layout layout[NUM_OF_LAYOUT];
int *ntag; int *ntag;

View File

@ -111,8 +111,6 @@ quit(void)
free(conf.titlebar.mouse); free(conf.titlebar.mouse);
free(conf.client.mouse); free(conf.client.mouse);
free(conf.root.mouse); free(conf.root.mouse);
if(conf.alias)
free(conf.alias);
XSync(dpy, False); XSync(dpy, False);
return; return;