找出异常,小弟我是新手,求C高手帮忙

找出错误,我是新手,求C高手帮忙
#include "../lib/cgi.h"
#include "../libso/sessla.h"
#include "../libso/upload.h"
#include "../libso/import.h"
#include "../libso/slasauth.h"

void unpack_service(u_char *result, char *servstr) {
u_char *p;
char *q, name[256];
unsigned char len = 0;
int size, i, type;

p = result + sizeof(char); q = servstr;
memset(q, 0, WBUF_SIZE);
memcpy(&size, p, sizeof(int)); p += sizeof(int);
if (size) {
for (i=0; i<size; i++) {
memcpy(&type, p, sizeof(int)); p += sizeof(int);
memcpy(&len, p, sizeof(char)); p += 3 * sizeof(char);
memset(name, 0, 256);
if (len) {
memcpy(name, p, len); p += len;
}
if (strcasestr(name, "windows"))sprintf(servstr + strlen(servstr), "%d,%s;", type, name);
}
}
}

int combine_wbuf_get(u_char *wbuf,char *name){
u_char nametype;
u_char *p;
u_char len=0;
if(name) len=strlen(name);

p = wbuf;
nametype = 1;

memcpy(p,&nametype,sizeof(char)); p += sizeof(char);
memcpy(p,&len,sizeof(char)); p+=sizeof(char);
memcpy(p,name,len); p+=len;
return(p - wbuf);
}

int get_int_ip(char *str,char *ip1,char *ip2,char *ip3,char *ip4){
bzero(str, 32);
sprintf(str,"%s.%s.%s.%s",ip1,ip2,ip3,ip4);
return inet_addr(str);            
}

int get_file(char *strfile){
char filelen = 0, filename[1024];
int count, error, i;
off_t size;
time_t time;
u_char wbuf[WBUF_SIZE], *ptr = NULL;
u_int wlen;

memset(wbuf, 0, sizeof(wbuf));
memset(strfile, 0, sizeof(strfile));
wlen = 0;
if (CommandUploadList(wbuf, &wlen)) return __LINE__;

if (CGIFilter(wbuf, wlen, &error, NULL)) return __LINE__;

if (error) return __LINE__;

ptr = wbuf + 1;
memcpy(&count, ptr, sizeof(int)); ptr += sizeof(int);
for (i = 0; i < count; i++){
memcpy(&time, ptr, sizeof(time_t)); ptr +=  sizeof(time_t);
memcpy(&size, ptr, sizeof(off_t)); ptr +=  sizeof(off_t);
memcpy(&filelen, ptr, sizeof(char)); ptr += sizeof(char);
if (filelen == 0){
continue;
}
memset(filename, 0, 1024);
memcpy(filename, ptr, filelen); ptr += filelen;
sprintf(strfile+strlen(strfile), "%s;", filename);
}
strfile[strlen(strfile)-1] = 0;
return 0;
}

c

------解决方案--------------------
单步调试和设断点调试是程序员必须掌握的技能之一。

------解决方案--------------------
程序员要做的不是尽力避免错误,而是聚焦在快速发现并改正错误。真正以快速方式轻易解决错误,“快速的失败”远胜过“预防错误”。Fred George

------解决方案--------------------