int AnalyzeIcmp(u_char *data,int size) { u_char *ptr; int lest; struct icmp *icmp; ptr=data; lest=size; if(lest<sizeof(struct icmp)){ if(fil[4] == 1){ fprintf(stderr,"lest(%d)<sizeof(struct icmp)\n",lest); } return(-1); } icmp=(struct icmp *)ptr; ptr+=sizeof(struct icmp); lest-=sizeof(struct icmp); if(fil[4] == 1){ PrintIcmp(icmp,stdout); } return(0); }
int AnalyzeIcmp(u_char *data, int size) { u_char *ptr = NULL; int lest = 0; struct icmp *icmp = NULL; ptr = data; lest = size; if (lest < sizeof(struct icmp)) { ExitWithTooLittleLengthError("icmp", lest); } icmp = (struct icmp *) ptr; ptr += sizeof(struct icmp); // ? lest -= sizeof(struct icmp); // ? PrintIcmp(icmp, stdout); return 0; }