提交 140a9afc 编写于 作者: S Stefano Sabatini

ffprobe: add more safe casts in value_string()

Second attempt at fixing ticket #921.
上级 2c8d37c2
...@@ -119,15 +119,15 @@ static char *value_string(char *buf, int buf_size, struct unit_value uv) ...@@ -119,15 +119,15 @@ static char *value_string(char *buf, int buf_size, struct unit_value uv)
prefix_string = decimal_unit_prefixes[index]; prefix_string = decimal_unit_prefixes[index];
} }
if (show_float || vald != (int)vald) l = snprintf(buf, buf_size, "%.3f", vald); if (show_float || vald != (long long int)vald) l = snprintf(buf, buf_size, "%.3f", vald);
else l = snprintf(buf, buf_size, "%lld", (long long int)vald); else l = snprintf(buf, buf_size, "%lld", (long long int)vald);
snprintf(buf+l, buf_size-l, "%s%s%s", prefix_string || show_value_unit ? " " : "", snprintf(buf+l, buf_size-l, "%s%s%s", prefix_string || show_value_unit ? " " : "",
prefix_string, show_value_unit ? uv.unit : ""); prefix_string, show_value_unit ? uv.unit : "");
} else { } else {
int l; int l;
if (show_float) l = snprintf(buf, buf_size, "%.3f", vald); if (show_float) l = snprintf(buf, buf_size, "%.3f", vald);
else l = snprintf(buf, buf_size, "%d", (int)vald); else l = snprintf(buf, buf_size, "%lld", (long long int)vald);
snprintf(buf+l, buf_size-l, "%s%s", show_value_unit ? " " : "", snprintf(buf+l, buf_size-l, "%s%s", show_value_unit ? " " : "",
show_value_unit ? uv.unit : ""); show_value_unit ? uv.unit : "");
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册