This commit is contained in:
jl777
2016-10-19 17:39:26 -03:00
parent bafc61f3fc
commit 52ed4002de

View File

@@ -192,8 +192,8 @@ int32_t komodo_threshold(uint64_t signedmask)
int32_t komodo_stateupdate(uint8_t notarypubs[][33],uint8_t numnotaries) int32_t komodo_stateupdate(uint8_t notarypubs[][33],uint8_t numnotaries)
{ {
static FILE *fp; char fname[512]; uint8_t func,num,pubkeys[64][33]; static FILE *fp; static int32_t errs; char fname[512]; uint8_t func,num,pubkeys[64][33];
sprintf(fname,"%s/%s",boost::filesystem::is_directory(GetDataDir(false)),"komodostate"); sprintf(fname,"%s/%s",boost::filesystem::is_directory(GetDataDir(false)),(char *)"komodostate");
if ( fp == 0 ) if ( fp == 0 )
{ {
if ( (fp= fopen(fname,"rb+")) != 0 ) if ( (fp= fopen(fname,"rb+")) != 0 )
@@ -203,14 +203,18 @@ int32_t komodo_stateupdate(uint8_t notarypubs[][33],uint8_t numnotaries)
if ( func == 'P' ) if ( func == 'P' )
{ {
if ( (num= fgetc(fp)) < 64 ) if ( (num= fgetc(fp)) < 64 )
fread(pubkeys,num,33,fp); if ( fread(pubkeys,33,num,fp) != num )
errs++;
else printf("illegal num.%d\n",num); else printf("illegal num.%d\n",num);
} }
else if ( func == 'N' ) else if ( func == 'N' )
{ {
fread(&NOTARIZED_HEIGHT,1,sizeof(NOTARIZED_HEIGHT),fp); if ( fread(&NOTARIZED_HEIGHT,1,sizeof(NOTARIZED_HEIGHT),fp) != sizeof(NOTARIZED_HEIGHT) )
fread(&NOTARIZED_HASH,1,sizeof(NOTARIZED_HASH),fp); errs++;
fread(&NOTARIZED_BTCHASH,1,sizeof(NOTARIZED_BTCHASH),fp); if ( fread(&NOTARIZED_HASH,1,sizeof(NOTARIZED_HASH),fp) != sizeof(NOTARIZED_HASH) )
errs++;
if ( fread(&NOTARIZED_BTCHASH,1,sizeof(NOTARIZED_BTCHASH),fp) != sizeof(NOTARIZED_BTCHASH) )
errs++;
} }
else printf("illegal func.(%d %c)\n",func,func); else printf("illegal func.(%d %c)\n",func,func);
} }
@@ -223,12 +227,16 @@ int32_t komodo_stateupdate(uint8_t notarypubs[][33],uint8_t numnotaries)
{ {
fputc('P',fp); fputc('P',fp);
fputc(numnotaries,fp); fputc(numnotaries,fp);
fwrite(notarypubs,numnotaries,33,fp); if ( fwrite(notarypubs,33,numnotaries,fp) != numnotaries )
errs++;
} }
fputs('N',fp); fputs('N',fp);
fwrite(&NOTARIZED_HEIGHT,1,sizeof(NOTARIZED_HEIGHT),fp); if ( fwrite(&NOTARIZED_HEIGHT,1,sizeof(NOTARIZED_HEIGHT),fp) != sizeof(NOTARIZED_HEIGHT) )
fwrite(&NOTARIZED_HASH,1,sizeof(NOTARIZED_HASH),fp); errs++;
fwrite(&NOTARIZED_BTCHASH,1,sizeof(NOTARIZED_BTCHASH),fp); if ( fwrite(&NOTARIZED_HASH,1,sizeof(NOTARIZED_HASH),fp) != sizeof(NOTARIZED_HASH) )
errs++;
if ( fwrite(&NOTARIZED_BTCHASH,1,sizeof(NOTARIZED_BTCHASH),fp) != sizeof(NOTARIZED_BTCHASH) )
errs++;
} }
} }