diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2010-06-05 01:58:10 +0400 |
---|---|---|
committer | Cyrill Gorcunov <gorcunov@gmail.com> | 2010-06-05 01:58:10 +0400 |
commit | c57eb515279d293d64f483724e8a4f18732185e9 (patch) | |
tree | 14b4c393a6554fb106d836b330104291eff40d90 | |
parent | c29404d7bad7308218ef04b8c22d4d9c54adbfad (diff) | |
download | nasm-c57eb515279d293d64f483724e8a4f18732185e9.tar.gz |
preproc.c: Fix argument indices checking in parameters range
Otherwise %{-1:-1} fails.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-rw-r--r-- | preproc.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -3617,8 +3617,10 @@ static Token *expand_mmac_params_range(MMacro *mac, Token *tline, Token ***last) goto err; /* the values should be sane */ - if ((fst > mac->nparam || fst < -(int)mac->nparam) || - (lst > mac->nparam || lst < -(int)mac->nparam)) + if ((fst > 0 && fst > mac->nparam) || + (fst < 0 && fst < -(int)mac->nparam) || + (lst > 0 && lst > mac->nparam) || + (lst < 0 && lst < -(int)mac->nparam)) goto err; fst = fst < 0 ? fst + mac->nparam + 1: fst; |