diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-06-02 10:01:12 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-06-02 10:01:12 +0200 |
commit | 64ba9f7bcc4bb3b53c0cab303c230855a1443a42 (patch) | |
tree | cacd95cff776e3d961eaf9719b83935aefbb6cb7 | |
parent | 326e33f521f7796cbdde4a36a67bb4c7ffd25c1b (diff) | |
download | bird-64ba9f7bcc4bb3b53c0cab303c230855a1443a42.tar bird-64ba9f7bcc4bb3b53c0cab303c230855a1443a42.zip |
Do not try to divide by zero.
-rw-r--r-- | filter/filter.c | 3 | ||||
-rw-r--r-- | filter/test.conf | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/filter/filter.c b/filter/filter.c index 232a2d2..776ad55 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -283,7 +283,8 @@ interpret(struct f_inst *what) TWOARGS_C; switch (res.type = v1.type) { case T_VOID: runtime( "Can not operate with values of type void" ); - case T_INT: res.val.i = v1.val.i / v2.val.i; break; + case T_INT: if (v2.val.i == 0) runtime( "Mother told me not to divide by 0" ); + res.val.i = v1.val.i / v2.val.i; break; case T_IP: if (v2.type != T_INT) runtime( "Operator / is <ip>/<int>" ); break; diff --git a/filter/test.conf b/filter/test.conf index c1d5977..1b635cb 100644 --- a/filter/test.conf +++ b/filter/test.conf @@ -1,5 +1,6 @@ /* * This is an example configuration file. + * FIXME: add all examples from docs here. */ # Yet another comment |