Bug 6348 - why divide by zero isn't error ?
Summary: why divide by zero isn't error ?
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: php (show other bugs)
Version: unstable
Hardware: all Linux
: P2 critical
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-29 12:48 MSD by algor
Modified: 2012-03-16 13:57 MSK (History)
2 users (show)

See Also:


Attachments
патч для исправления поведения при делении на ноль. (951 bytes, patch)
2005-03-29 12:51 MSD, algor
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description algor 2005-03-29 12:48:59 MSD
суть проблемы. 
php по умолчанию не считает деление на ноль ошибкой. при делении на ноль
выдаётся предупреждение, и программа продолжает работать дальше, как будто так и
надо.

[agent_007@satellit~ ]$ rpm -q php                                             
                                 
php-4.3.11-alt0.cvs20050209

[agent_007@satellit~ ]$ /usr/bin/php -r '$a=1; $b = 0; $c=$a/$b; echo "c=$c\n";'
Warning: Division by zero in Command line code on line 1
c=

для примера, perl в той же ситуации:
[agent_007@satellit~ ]$ perl -we '$a=1; $b=0; $c=$a/$b ; print "c=$c\n";'      
                                 
Illegal division by zero at -e line 1.

возможно это поведение правильно (хотелось бы увидеть обоснование, почему). а
пока мне приходится прикладывать патч (в аттаче).
Steps to Reproduce:
1. /usr/bin/php -r '$a=1; $b = 0; $c=$a/$b; echo "c=$c\n";'

Actual Results:  
Warning: Division by zero in Command line code on line 1
c=

Expected Results:  
Fatal error: Division by zero in Command line code on line 1
Comment 1 algor 2005-03-29 12:51:36 MSD
Created attachment 784 [details]
патч для исправления поведения при делении на ноль.

патч для исправления поведения при делении на ноль.
Comment 2 Alexey Gladkov 2005-05-27 15:53:08 MSD
Исправлено.