??????????????????д??????????????????80%?????????Linux??ARM?????????????????????????C/C++?????????????????????????Σ???ν??Linux????????????????????????????????????д?????飬??????????????????λ?????????????????汾?????????????????????????????????????Linux???????£?????????????????????鼼?ɡ?

??????????Linux????????飻???????

????1??????

?????????????????????????????????????????????????????????????????????????????????????????硢????????????????????????????????????Щ????????????????????????г??????????????????????????????????????????????????????????????????????????????????????Σ???????????????飬????????????????????????????

????????Linux???????????C?????д????Linux???????£?????????ó??????????????C/C++??????????C/C++?????????????????????????????????????????????????????????????????????????????????????Щ?????????????????????????С???????????????????????????????????????п??????С??????????????????????????????????????????鷽????????????к?????????????????????????????????????????????о???

????????????????????????з??????????????????????????Linux+ARM??????????C/C++?????????ó???????????????????????飬?????????飬?????????飬????????飬?豸???????????飬??????????????????????????????????Σ???ж?????????????????в????????????????????????????????????????????????????????????????????????????????????Σ?????????????Ч????????????????????????????????????????????????????????Щ????????????????????????????з???κ??????????Σ??????????д??????????????????????????????????????????????????????????????????????????????飬????????????Linux???????????????鼼????????

????2??????Linux??????????????????

????2.1 ??????????????

???????????????????????г??????????????漰???????????????????????????????????????????????????????????????磺

case 2://???
cctmp=c1;
if(cctmp&0x01==1)
……
break; ====>>>>?????"==" ???????"&"?????????±???????????????????????????????????????????磺if( ( cctmp&0x01 ) ==1)??

????2.2 ???й?????

???????????????У????????????????????????????????????????????????棺

????2.2.1 ???????????return ????

????????return??????????????????????????return?????????????return false?????????????????????????????????????????????????????????????????????????????д???????????????????ο?2.2.2?е????

????2.2.2 strdup???????

?????????strdup????е???free????????????????strdup??????????????????????ú??????????????????malloc????????????????????strdup????????????ú?free?????????á??????????????л????????????????????????????????????????????????磺

fname = strdup(*argv);
if (fname == NULL)
novm("+ua file name");
seteuid(getuid());
ufile = fopen(fname?? "r"); seteuid(0);
if (ufile == NULL)
{
option_error("unable to open user login data file %s"?? fname);
return 0; ====>>>>?淶??????return false????????????strdup??????????????
}