summary refs log tree commit diff
path: root/parse.y
diff options
context:
space:
mode:
authorokan <okan>2014-01-24 22:38:02 +0000
committerokan <okan>2014-01-24 22:38:02 +0000
commit6f103498437d2b2b9eeee66be168a1cc0144bdff (patch)
tree861e2cbd149316b9d11da98b6e5c5daacdaa2a60 /parse.y
parentc7e2ee5dd567888f30028250a7cdbadecdad4d73 (diff)
downloadcwm-6f103498437d2b2b9eeee66be168a1cc0144bdff.tar.gz
cwm-6f103498437d2b2b9eeee66be168a1cc0144bdff.tar.xz
cwm-6f103498437d2b2b9eeee66be168a1cc0144bdff.zip
more range checking
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y11
1 files changed, 7 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index 28c95c7..cb14dd1 100644
--- a/parse.y
+++ b/parse.y
@@ -116,21 +116,21 @@ main		: FONTNAME STRING		{
 				conf->flags |= CONF_STICKY_GROUPS;
 		}
 		| BORDERWIDTH NUMBER {
-			if ($2 < 0) {
+			if ($2 < 0 || $2 > UINT_MAX) {
 				yyerror("invalid borderwidth: %d", $2);
 				YYERROR;
 			}
 			conf->bwidth = $2;
 		}
 		| MOVEAMOUNT NUMBER {
-			if ($2 < 0) {
+			if ($2 < 0 || $2 > INT_MAX) {
 				yyerror("invalid movemount: %d", $2);
 				YYERROR;
 			}
 			conf->mamount = $2;
 		}
 		| SNAPDIST NUMBER {
-			if ($2 < 0) {
+			if ($2 < 0 || $2 > INT_MAX) {
 				yyerror("invalid snapdist: %d", $2);
 				YYERROR;
 			}
@@ -165,7 +165,10 @@ main		: FONTNAME STRING		{
 			free($3);
 		}
 		| GAP NUMBER NUMBER NUMBER NUMBER {
-			if ($2 < 0 || $3 < 0 || $4 < 0 || $5 < 0) {
+			if ($2 < 0 || $2 > INT_MAX ||
+			    $3 < 0 || $3 > INT_MAX ||
+			    $4 < 0 || $4 > INT_MAX ||
+			    $5 < 0 || $5 > INT_MAX) {
 				yyerror("invalid gap: %d %d %d %d",
 				    $2, $3, $4, $5);
 				YYERROR;