From: Antonio Ospite Date: Tue, 14 Feb 2017 08:49:24 +0000 (+0100) Subject: am7xxx: make sure am7xxx_get_device_info() always returns sensible values X-Git-Tag: v0.1.7~33 X-Git-Url: https://git.ao2.it/libam7xxx.git/commitdiff_plain/3e874361f193d7ce9dec3971fd1d4923fea1a9a5?hp=3e874361f193d7ce9dec3971fd1d4923fea1a9a5 am7xxx: make sure am7xxx_get_device_info() always returns sensible values am7xxx_get_device_info() was not covering the case of a non-NULL output parameter on the very first invocation, this case would not usually happen in normal operation, but the problem was there: in that case the output device_info structure would have contained garbage, as spotted by the static analyzer: .../src/am7xxx.c:1279:21: warning: The right operand of '<=' is a garbage value original_width <= device_info.native_width && ^ ~~~~~~~~~~~~~~~~~~~~~~~~ .../src/am7xxx.c:1288:39: warning: The right operand of '/' is a garbage value width_ratio = (float)original_width / device_info.native_width; ^ ~~~~~~~~~~~~~~~~~~~~~~~~ While at it also fix the symmetric case of a NULL output parameter on subsequent invocation: check that the output argument is non-NULL before memcpy-ing to it. ---