[svn] - remove get_maxrss() and all of that insecure and unsafe nonsense
This commit is contained in:
parent
a6a30f6f7b
commit
68ff929f3d
|
@ -1,3 +1,12 @@
|
||||||
|
nenolod 2007/03/05 18:42:24 UTC (20070305-3247)
|
||||||
|
Log:
|
||||||
|
- avoid some potential NULL dereferencing
|
||||||
|
|
||||||
|
|
||||||
|
Changes: Modified:
|
||||||
|
+1 -1 trunk/libcharybdis/commio.c (File Modified)
|
||||||
|
|
||||||
|
|
||||||
nenolod 2007/03/05 18:41:14 UTC (20070305-3245)
|
nenolod 2007/03/05 18:41:14 UTC (20070305-3245)
|
||||||
Log:
|
Log:
|
||||||
- fix a typo
|
- fix a typo
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#define SERNO "20070305-3245"
|
#define SERNO "20070305-3247"
|
||||||
|
|
43
src/ircd.c
43
src/ircd.c
|
@ -21,7 +21,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: ircd.c 3047 2006-12-26 23:18:05Z jilles $
|
* $Id: ircd.c 3249 2007-03-05 18:51:17Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdinc.h"
|
#include "stdinc.h"
|
||||||
|
@ -79,39 +79,10 @@
|
||||||
*/
|
*/
|
||||||
int _charybdis_data_version = CHARYBDIS_DV;
|
int _charybdis_data_version = CHARYBDIS_DV;
|
||||||
|
|
||||||
extern int ServerRunning, initialVMTop;
|
extern int ServerRunning;
|
||||||
extern struct LocalUser meLocalUser;
|
extern struct LocalUser meLocalUser;
|
||||||
extern char **myargv;
|
extern char **myargv;
|
||||||
|
|
||||||
/*
|
|
||||||
* get_vm_top - get the operating systems notion of the resident set size
|
|
||||||
*/
|
|
||||||
static unsigned long
|
|
||||||
get_vm_top(void)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* NOTE: sbrk is not part of the ANSI C library or the POSIX.1 standard
|
|
||||||
* however it seems that everyone defines it. Calling sbrk with a 0
|
|
||||||
* argument will return a pointer to the top of the process virtual
|
|
||||||
* memory without changing the process size, so this call should be
|
|
||||||
* reasonably safe (sbrk returns the new value for the top of memory).
|
|
||||||
* This code relies on the notion that the address returned will be an
|
|
||||||
* offset from 0 (NULL), so the result of sbrk is cast to a size_t and
|
|
||||||
* returned. We really shouldn't be using it here but...
|
|
||||||
*/
|
|
||||||
void *vptr = sbrk(0);
|
|
||||||
return (unsigned long) vptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* get_maxrss - get the operating systems notion of the resident set size
|
|
||||||
*/
|
|
||||||
unsigned long
|
|
||||||
get_maxrss(void)
|
|
||||||
{
|
|
||||||
return get_vm_top() - initialVMTop;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* print_startup - print startup information
|
* print_startup - print startup information
|
||||||
*/
|
*/
|
||||||
|
@ -173,11 +144,10 @@ init_sys(void)
|
||||||
|
|
||||||
if(!getrlimit(RLIMIT_FD_MAX, &limit))
|
if(!getrlimit(RLIMIT_FD_MAX, &limit))
|
||||||
{
|
{
|
||||||
|
|
||||||
if(limit.rlim_max < MAXCONNECTIONS)
|
if(limit.rlim_max < MAXCONNECTIONS)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "ircd fd table too big\n");
|
fprintf(stderr, "ircd's bootstrap fd table is too big\n");
|
||||||
fprintf(stderr, "Hard Limit: %ld IRC max: %d\n",
|
fprintf(stderr, "Hard Limit: %ld bootstrap size: %d\n",
|
||||||
(long) limit.rlim_max, MAXCONNECTIONS);
|
(long) limit.rlim_max, MAXCONNECTIONS);
|
||||||
fprintf(stderr, "Fix MAXCONNECTIONS\n");
|
fprintf(stderr, "Fix MAXCONNECTIONS\n");
|
||||||
exit(-1);
|
exit(-1);
|
||||||
|
@ -513,11 +483,6 @@ main(int argc, char *argv[])
|
||||||
*/
|
*/
|
||||||
setup_corefile();
|
setup_corefile();
|
||||||
|
|
||||||
/*
|
|
||||||
* set initialVMTop before we allocate any memory
|
|
||||||
*/
|
|
||||||
initialVMTop = get_vm_top();
|
|
||||||
|
|
||||||
ServerRunning = 0;
|
ServerRunning = 0;
|
||||||
/* It ain't random, but it ought to be a little harder to guess */
|
/* It ain't random, but it ought to be a little harder to guess */
|
||||||
srand(SystemTime.tv_sec ^ (SystemTime.tv_usec | (getpid() << 20)));
|
srand(SystemTime.tv_sec ^ (SystemTime.tv_usec | (getpid() << 20)));
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: restart.c 486 2006-01-15 10:36:32Z nenolod $
|
* $Id: restart.c 3249 2007-03-05 18:51:17Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdinc.h"
|
#include "stdinc.h"
|
||||||
|
@ -46,7 +46,7 @@ restart(const char *mesg)
|
||||||
abort();
|
abort();
|
||||||
was_here = YES;
|
was_here = YES;
|
||||||
|
|
||||||
ilog(L_MAIN, "Restarting Server because: %s, memory data limit: %ld", mesg, get_maxrss());
|
ilog(L_MAIN, "Restarting Server because: %s", mesg);
|
||||||
|
|
||||||
server_reboot();
|
server_reboot();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: s_stats.c 1409 2006-05-21 14:46:17Z jilles $
|
* $Id: s_stats.c 3249 2007-03-05 18:51:17Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdinc.h"
|
#include "stdinc.h"
|
||||||
|
@ -386,8 +386,4 @@ count_memory(struct Client *source_p)
|
||||||
"z :Remote client Memory in use: %ld(%ld)",
|
"z :Remote client Memory in use: %ld(%ld)",
|
||||||
(long)remote_client_count,
|
(long)remote_client_count,
|
||||||
(long)remote_client_memory_used);
|
(long)remote_client_memory_used);
|
||||||
|
|
||||||
sendto_one_numeric(source_p, RPL_STATSDEBUG,
|
|
||||||
"z :TOTAL: %d Available: Current max RSS: %lu",
|
|
||||||
(int) total_memory, get_maxrss());
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue