diff options
Diffstat (limited to 'mbbsd/mbbsd.c')
-rw-r--r-- | mbbsd/mbbsd.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index 9fc9225f..262913f4 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -292,6 +292,14 @@ add_history(msgque_t * msg) { int i = 0, j, waterinit = 0; water_t *tmp; +#ifdef CRITICAL_MEMORY + if( !water ){ + water = (water_t*)malloc(sizeof(water_t) * 6); + memset(water, 0, sizeof(water_t) * 6); + water_which = &water[0]; + strlcpy(water[0].userid, " ¥þ³¡ ", sizeof(water[0].userid)); + } +#endif if (WATERMODE(WATER_ORIG) || WATERMODE(WATER_NEW)) add_history_water(&water[0], msg); if (WATERMODE(WATER_NEW) || WATERMODE(WATER_OFO)) { @@ -909,8 +917,10 @@ user_login() resolve_fcache(); /* resolve_boards(); */ numboards = SHM->Bnumber; +#ifndef CRITICAL_MEMORY memset(&water[0], 0, sizeof(water_t) * 6); strlcpy(water[0].userid, " ¥þ³¡ ", sizeof(water[0].userid)); +#endif if(getenv("SSH_CLIENT") != NULL){ char frombuf[50]; |