mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 09:42:39 +08:00
Using strtod() instead of atofp() to support a lot of digits after dot in
"start" parameter value.
This commit is contained in:
parent
a40e7eed30
commit
f3ae6a6102
@ -499,9 +499,16 @@ ngx_http_mp4_handler(ngx_http_request_t *r)
|
|||||||
|
|
||||||
if (ngx_http_arg(r, (u_char *) "start", 5, &value) == NGX_OK) {
|
if (ngx_http_arg(r, (u_char *) "start", 5, &value) == NGX_OK) {
|
||||||
|
|
||||||
start = ngx_atofp(value.data, value.len, 3);
|
/*
|
||||||
|
* A Flash player may send start value with a lot of digits
|
||||||
|
* after dot so strtod() is used instead of atofp(). NaNs and
|
||||||
|
* infinities become negative numbers after (int) conversion.
|
||||||
|
*/
|
||||||
|
|
||||||
if (start != NGX_ERROR) {
|
ngx_set_errno(0);
|
||||||
|
start = (int) (strtod((char *) value.data, NULL) * 1000);
|
||||||
|
|
||||||
|
if (ngx_errno == 0 && start >= 0) {
|
||||||
r->allow_ranges = 0;
|
r->allow_ranges = 0;
|
||||||
|
|
||||||
mp4 = ngx_pcalloc(r->pool, sizeof(ngx_http_mp4_file_t));
|
mp4 = ngx_pcalloc(r->pool, sizeof(ngx_http_mp4_file_t));
|
||||||
|
Loading…
Reference in New Issue
Block a user