mirror of
https://github.com/nmap/nmap.git
synced 2025-12-07 21:21:31 +00:00
set srand when creating the Lua state not when beginning a new scan phase
This commit is contained in:
14
nse_main.cc
14
nse_main.cc
@@ -591,6 +591,13 @@ void open_nse (void)
|
|||||||
{
|
{
|
||||||
if (L_NSE == NULL)
|
if (L_NSE == NULL)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
Set the random seed value on behalf of scripts. Since Lua uses the
|
||||||
|
C rand and srand functions, which have a static seed for the entire
|
||||||
|
program, we don't want scripts doing this themselves.
|
||||||
|
*/
|
||||||
|
srand(get_random_uint());
|
||||||
|
|
||||||
if ((L_NSE = luaL_newstate()) == NULL)
|
if ((L_NSE = luaL_newstate()) == NULL)
|
||||||
fatal("%s: failed to open a Lua state!", SCRIPT_ENGINE);
|
fatal("%s: failed to open a Lua state!", SCRIPT_ENGINE);
|
||||||
lua_atpanic(L_NSE, panic);
|
lua_atpanic(L_NSE, panic);
|
||||||
@@ -615,13 +622,6 @@ void script_scan (std::vector<Target *> &targets, stype scantype)
|
|||||||
assert(L_NSE != NULL);
|
assert(L_NSE != NULL);
|
||||||
lua_settop(L_NSE, 0); /* clear the stack */
|
lua_settop(L_NSE, 0); /* clear the stack */
|
||||||
|
|
||||||
/*
|
|
||||||
Set the random seed value on behalf of scripts. Since Lua uses the C rand
|
|
||||||
and srand functions, which have a static seed for the entire program, we
|
|
||||||
don't want scripts doing this themselves.
|
|
||||||
*/
|
|
||||||
srand(get_random_uint());
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* Lua 5.2 */
|
/* Lua 5.2 */
|
||||||
lua_pushcfunction(L_NSE, run_main);
|
lua_pushcfunction(L_NSE, run_main);
|
||||||
|
|||||||
Reference in New Issue
Block a user