nginx / njs

A subset of JavaScript language to use in nginx
http://nginx.org/en/docs/njs/
BSD 2-Clause "Simplified" License
841 stars 116 forks source link

Fixed ‘length’ may be used in Array.prototype.pop(). #741

Closed xeioex closed 1 week ago

xeioex commented 2 weeks ago

When building by GCC with -O3 and -flto flags the following warning was reported: src/njs_array.c: In function ‘njs_array_prototype_pop’: src/njs_array.c:1009:8: error: ‘length’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 1009 | if (length == 0) { | ^

Returning a specific code in njs_value_to_number() helps GCC to infer that there are only 2 return values are possible and both of them are handled.

Checklist

Before creating a PR, run through this checklist and mark each as complete: