From d01649bf3ac662489db363d10f6008c6918ff27a Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Tue, 17 Mar 2015 09:04:22 +0800 Subject: [PATCH] Return error if &div or &mod by 0. --- eval.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eval.c b/eval.c index 82160fa..81de494 100644 --- a/eval.c +++ b/eval.c @@ -401,10 +401,12 @@ static char *gtfun( char *fname) { retstr = i_to_a( atoi( arg1) * atoi( argx)) ; break ; case UFDIV: - retstr = i_to_a( atoi( arg1) / atoi( argx)) ; + sz = atoi( argx) ; + retstr = (sz == 0) ? errorm : i_to_a( atoi( arg1) / sz) ; break ; case UFMOD: - retstr = i_to_a( atoi( arg1) % atoi( argx)) ; + sz = atoi( argx) ; + retstr = (sz == 0) ? errorm : i_to_a( atoi( arg1) % sz) ; break ; case UFNEG: retstr = i_to_a( -atoi( argx)) ;