X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_graph.c;h=81dfdc3b49cdb0e5abdf661fea951639cbdcd81d;hb=b5fa07df1c06bd87a6c34a2351a4cd065ba6778b;hp=a16734ba4175faa76240e2c66ad7d9e4104a7305;hpb=b869e4be6a7faf6d519ce07f88d7ae4e085db04a;p=rrdtool.git diff --git a/src/rrd_graph.c b/src/rrd_graph.c index a16734b..81dfdc3 100644 --- a/src/rrd_graph.c +++ b/src/rrd_graph.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.15 Copyright by Tobi Oetiker, 1997-2006 + * RRDtool 1.2.17 Copyright by Tobi Oetiker, 1997-2006 **************************************************************************** * rrd__graph.c produce graphs from data in rrdfiles ****************************************************************************/ @@ -1446,7 +1446,27 @@ leg_place(image_desc_t *im) } else { prt_fctn = '\0'; } + /* only valid control codes */ + if (prt_fctn != 'l' && + prt_fctn != 'n' && /* a synonym for l */ + prt_fctn != 'r' && + prt_fctn != 'j' && + prt_fctn != 'c' && + prt_fctn != 's' && + prt_fctn != 't' && + prt_fctn != '\0' && + prt_fctn != 'g' ) { + free(legspace); + rrd_set_error("Unknown control code at the end of '%s\\%c'",im->gdes[i].legend,prt_fctn); + return -1; + + } + /* remove exess space */ + if ( prt_fctn == 'n' ){ + prt_fctn='l'; + } + while (prt_fctn=='g' && leg_cc > 0 && im->gdes[i].legend[leg_cc-1]==' '){