This commit is contained in:
jl777
2017-11-05 15:22:53 +02:00
parent 37c74e15e1
commit 2baa86a396

View File

@@ -1377,10 +1377,10 @@ void *OS_loadfile(char *fname,uint8_t **bufp,long *lenp,long *allocsizep)
printf("OS_loadfile null size.(%s)\n",fname); printf("OS_loadfile null size.(%s)\n",fname);
return(0); return(0);
} }
if ( filesize > buflen-1 ) if ( filesize > buflen )
{ {
*allocsizep = filesize; *allocsizep = filesize;
*bufp = buf = (uint8_t *)realloc(buf,(long)*allocsizep); *bufp = buf = (uint8_t *)realloc(buf,(long)*allocsizep+64);
} }
rewind(fp); rewind(fp);
if ( buf == 0 ) if ( buf == 0 )
@@ -1441,8 +1441,8 @@ long komodo_stateind_validate(struct komodo_state *sp,char *indfname,uint8_t *fi
*prevpos100p = prevpos100; *prevpos100p = prevpos100;
if ( sp != 0 ) if ( sp != 0 )
komodo_stateind_set(sp,(uint32_t *)inds,n,filedata,fpos,symbol,dest); komodo_stateind_set(sp,(uint32_t *)inds,n,filedata,fpos,symbol,dest);
else free(inds);
printf("free inds.%p %s validated[%d] fpos.%ld datalen.%ld, offset %ld vs fsize.%ld\n",inds,indfname,i,fpos,datalen,i * sizeof(uint32_t),fsize); printf("free inds.%p %s validated[%d] fpos.%ld datalen.%ld, offset %ld vs fsize.%ld\n",inds,indfname,i,fpos,datalen,i * sizeof(uint32_t),fsize);
free(inds);
return(fpos); return(fpos);
} else printf("wrong filesize %s %ld\n",indfname,fsize); } else printf("wrong filesize %s %ld\n",indfname,fsize);
} }