iOS C库中的Memcpy EXC_BAD_访问代码

iOS C库中的Memcpy EXC_BAD_访问代码,c,exception,segmentation-fault,memcpy,C,Exception,Segmentation Fault,Memcpy,我正在使用一个iOS的C库,它偶尔会随机崩溃一次。这是一个失败的memcpy调用,我认为这一定是可以防止的。我试着去抓,但显然没有在memcpy上起作用。我对C不太熟悉,所以你知道如何避免这次崩溃吗。由于此库,当前整个应用程序正在随机崩溃 int cachecontroltoi(u8* s, u32 l){ u32 ret = -1; u32 p; char buf[1024]; int buflen=1024; if(l >= buflen){

我正在使用一个iOS的C库,它偶尔会随机崩溃一次。这是一个失败的memcpy调用,我认为这一定是可以防止的。我试着去抓,但显然没有在memcpy上起作用。我对C不太熟悉,所以你知道如何避免这次崩溃吗。由于此库,当前整个应用程序正在随机崩溃

int cachecontroltoi(u8* s, u32 l){
    u32 ret = -1;
    u32 p;

    char buf[1024];
    int buflen=1024;

    if(l >= buflen){
       return ret;
    }
    memcpy(&buf, s, l); // <<-- EXC_BAD_ACCESS
int cachecontroltoi(u8*s,u32 l){
u32 ret=-1;
U32P;
char-buf[1024];
int-buflen=1024;
如果(l>=buflen){
返回ret;
}

memcpy(&buf,s,l);//你的堆栈真的很小吗?数组有点大。@KerrekSB我不认为是这样。错误似乎也出现在s和l变量很小/为空的情况下。请显示
s
指向什么。你应该删除memcpy行中的
&
buf
已经是数组的地址。你如何调用此函数以及如何声明此数组?@Zeezer不可靠否,请不要使用无效的
s
参数调用此方法。