[Mplayerxp-cvslog] SF.net SVN: mplayerxp:[632] mplayerxp
Brought to you by:
olov
From: <nic...@us...> - 2013-04-26 06:56:52
|
Revision: 632 http://sourceforge.net/p/mplayerxp/code/632 Author: nickols_k Date: 2013-04-26 06:56:49 +0000 (Fri, 26 Apr 2013) Log Message: ----------- sync with http://beye.sf.bet Modified Paths: -------------- mplayerxp/main.cpp mplayerxp/osdep/mp_malloc.cpp Modified: mplayerxp/main.cpp =================================================================== --- mplayerxp/main.cpp 2013-04-23 12:51:09 UTC (rev 631) +++ mplayerxp/main.cpp 2013-04-26 06:56:49 UTC (rev 632) @@ -2060,6 +2060,27 @@ int main(int argc,char* args[], char *envp[]) { try { + /* init malloc */ + size_t pos; + mp_conf.malloc_debug=0; + mp_malloc_e flg=MPA_FLG_RANDOMIZER; + for(int i=0;i<argc;i++) { + std::string s=args[i]; + if(s.substr(0,18)=="-core.malloc-debug") { + if((pos=s.find('='))!=std::string::npos) { + mp_conf.malloc_debug=::atoi(s.substr(pos+1).c_str()); + } + switch(mp_conf.malloc_debug) { + default: + case 0: flg=MPA_FLG_RANDOMIZER; break; + case 1: flg=MPA_FLG_BOUNDS_CHECK; break; + case 2: flg=MPA_FLG_BEFORE_CHECK; break; + case 3: flg=MPA_FLG_BACKTRACE; break; + } + break; + } + } + mp_init_malloc(args[0],1000,10,flg); std::vector<std::string> argv; std::string str,stmp; for(int i=0;i<argc;i++) { @@ -2069,7 +2090,6 @@ args[argc] = (char*)make_false_pointer((any_t*)antiviral_hole1); std::map<std::string,std::string> envm; unsigned j=0; - size_t pos; while(envp[j]) { str=envp[j++]; pos=str.find('='); @@ -2090,27 +2110,6 @@ return EXIT_FAILURE; } mpxp_ok<<"*** Antiviral protection was inited ***!!!"<<std::endl; - /* init malloc */ - size_t i,sz=argv.size(); - mp_conf.malloc_debug=0; - mp_malloc_e flg=MPA_FLG_RANDOMIZER; - for(i=0;i<sz;i++) { - std::string s=argv[i]; - if(s.substr(0,18)=="-core.malloc-debug") { - if((pos=s.find('='))!=std::string::npos) { - mp_conf.malloc_debug=::atoi(s.substr(pos+1).c_str()); - } - switch(mp_conf.malloc_debug) { - default: - case 0: flg=MPA_FLG_RANDOMIZER; break; - case 1: flg=MPA_FLG_BOUNDS_CHECK; break; - case 2: flg=MPA_FLG_BEFORE_CHECK; break; - case 3: flg=MPA_FLG_BACKTRACE; break; - } - break; - } - } - mp_init_malloc(argv[0],1000,10,flg); /* init structs */ #if defined( ARCH_X86 ) || defined(ARCH_X86_64) memset(&mp_conf.x86,-1,sizeof(x86_features_t)); Modified: mplayerxp/osdep/mp_malloc.cpp =================================================================== --- mplayerxp/osdep/mp_malloc.cpp 2013-04-23 12:51:09 UTC (rev 631) +++ mplayerxp/osdep/mp_malloc.cpp 2013-04-26 06:56:49 UTC (rev 632) @@ -220,7 +220,7 @@ any_t *page_ptr=prot_page_align(ptr); mp_slot_t* slot=prot_find_slot(&priv->mallocs,page_ptr); if(!slot) { - ::printf("[__prot_free_append] suspect call found! Can't find slot for address: %p [aligned: %p]\n",ptr,page_ptr); + mpxp_info<<"[__prot_free_append] suspect call found! Can't find slot for address: "<<ptr<<" [aligned: "<<page_ptr<<"]"<<std::endl; __prot_print_slots(&priv->mallocs); __print_backtrace(Max_BackTraces); ::kill(::getpid(), SIGILL); @@ -236,7 +236,7 @@ if((rp=__prot_malloc_append(size))!=NULL && ptr) { mp_slot_t* slot=prot_find_slot(&priv->mallocs,prot_page_align(ptr)); if(!slot) { - ::printf("[__prot_realloc_append] suspect call found! Can't find slot for address: %p [aligned: %p]\n",ptr,prot_page_align(ptr)); + mpxp_info<<"[__prot_realloc_append] suspect call found! Can't find slot for address: "<<ptr<<" [aligned: "<<prot_page_align(ptr)<<"]"<<std::endl; __prot_print_slots(&priv->mallocs); __print_backtrace(Max_BackTraces); ::kill(::getpid(), SIGILL); @@ -270,7 +270,7 @@ any_t *page_ptr=pre_page_align(ptr); mp_slot_t* slot=prot_find_slot(&priv->mallocs,page_ptr); if(!slot) { - ::printf("[__prot_free_prepend] suspect call found! Can't find slot for address: %p [aligned: %p]\n",ptr,page_ptr); + mpxp_info<<"[__prot_free_prepend] suspect call found! Can't find slot for address: "<<ptr<<" [aligned: "<<page_ptr<<"]"<<std::endl; __prot_print_slots(&priv->mallocs); __print_backtrace(Max_BackTraces); ::kill(::getpid(), SIGILL); @@ -285,7 +285,7 @@ if((rp=__prot_malloc_prepend(size))!=NULL && ptr) { mp_slot_t* slot=prot_find_slot(&priv->mallocs,pre_page_align(ptr)); if(!slot) { - ::printf("[__prot_realloc_prepend] suspect call found! Can't find slot for address: %p [aligned: %p]\n",ptr,pre_page_align(ptr)); + mpxp_info<<"[__prot_realloc_prepend] suspect call found! Can't find slot for address: "<<ptr<<" [aligned: "<<pre_page_align(ptr)<<"]"<<std::endl; __prot_print_slots(&priv->mallocs); __print_backtrace(Max_BackTraces); ::kill(getpid(), SIGILL); @@ -536,7 +536,7 @@ using namespace mpxp; #include <new> -any_t* SECURE_NAME0(_mp_malloc)(size_t size) { +extern "C" any_t* SECURE_NAME0(_mp_malloc)(size_t size) { any_t* ptr; ptr = mp_malloc(size); if(!ptr) { @@ -546,7 +546,7 @@ return ptr; } -any_t* SECURE_NAME1(_mp_mallocz)(size_t size) { +extern "C" any_t* SECURE_NAME1(_mp_mallocz)(size_t size) { any_t* ptr; ptr = mp_mallocz(size); if(!ptr) { @@ -556,7 +556,7 @@ return ptr; } -any_t* SECURE_NAME2(_mp_memalign)(size_t boundary,size_t size) { +extern "C" any_t* SECURE_NAME2(_mp_memalign)(size_t boundary,size_t size) { any_t* ptr; ptr = mp_memalign(boundary,size); if(!ptr) { @@ -566,7 +566,7 @@ return ptr; } -void SECURE_NAME3(_mp_free)(any_t* ptr) { +extern "C" void SECURE_NAME3(_mp_free)(any_t* ptr) { mp_free(ptr); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |