Browse Source

more memleak fix

blackjok3r
blackjok3r 6 years ago
parent
commit
fa868087e3
  1. 8
      iguana/dpow/dpow_rpc.c
  2. 2
      iguana/iguana_notary.c
  3. 24
      iguana/iguana_rpc.c
  4. 2
      iguana/iguana_wallet.c

8
iguana/dpow/dpow_rpc.c

@ -151,10 +151,8 @@ int32_t komodo_initjson2(char *fstr)
field = jfieldname(item);
if ( (hexstr= jstr(item,field)) != 0 && is_hexstr(hexstr,0) == 66 )
{
Notaries_elected[i][0] = clonestr(field);
Notaries_elected[i][1] = clonestr(hexstr);
free(field);
free(hexstr);
strcpy(Notaries_elected[i][0],field);
strcpy(Notaries_elected[i][1],hexstr);
//printf("%d of %d: %s %s\n",i,n,field,hexstr);
}
else
@ -162,6 +160,8 @@ int32_t komodo_initjson2(char *fstr)
printf("couldnt find (%s) in %s or non-hex (%s)\n",field,jprint(item,0),hexstr!=0?hexstr:"");
break;
}
free(field);
free(hexstr);
}
if ( i == n )
{

2
iguana/iguana_notary.c

@ -403,6 +403,7 @@ THREE_STRINGS_AND_DOUBLE(iguana,dpow,symbol,dest,pubkey,freq)
printf("src validation error %s %s %s\n",src->symbol,srcaddr,retstr);
}
free(retstr);
free_json(json);
retstr = 0;
} else printf("%s %s didnt return anything\n",src->symbol,srcaddr);
bitcoin_address(destaddr,destcoin->chain->pubtype,dp->minerkey33,33);
@ -417,6 +418,7 @@ THREE_STRINGS_AND_DOUBLE(iguana,dpow,symbol,dest,pubkey,freq)
printf("dest validation error %s %s %s\n",src->symbol,srcaddr,retstr);
}
free(retstr);
free_json(json);
retstr = 0;
} else printf("%s %s didnt return anything\n",destcoin->symbol,destaddr);
if ( srcvalid <= 0 || destvalid <= 0 )

24
iguana/iguana_rpc.c

@ -1117,15 +1117,28 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz
jaddstr(arg,"userpass",userpass);
retstr = SuperNET_JSON(myinfo,coin,arg,remoteaddr,port);
}
if ( tokens != 0)
free_json(tokens);
if ( argjson != 0 )
free_json(argjson);
free_json(json);
if ( origargjson != 0 )
free_json(origargjson);
if ( tmpjson != 0 )
free(tmpjson);
free_json(tmpjson);
if ( json != 0 )
free_json(json);
return(retstr);
}
if ( tokens != 0)
free_json(tokens);
if ( argjson != 0 )
free_json(argjson);
if ( origargjson != 0 )
free_json(origargjson);
if ( tmpjson != 0 )
free(tmpjson);
free_json(tmpjson);
if ( json != 0 )
free_json(json);
*jsonflagp = 1;
return(clonestr("{\"error\":\"couldnt process packet\"}"));
}
@ -1302,10 +1315,9 @@ void iguana_rpcloop(void *args)
printf("iguana sent.%d remains.%d of len.%d\n",numsent,remains,recvlen);
}
}
//if ( retstr != space)
// free(retstr);
}
if ( retstr != space)
free(retstr);
}
closesocket(sock);
}
}

2
iguana/iguana_wallet.c

@ -1405,6 +1405,7 @@ TWOSTRINGS_AND_INT(bitcoinrpc,walletpassphrase,password,permanentfile,timeout)
if ( (ismine= jobj(json,"ismine")) != 0 && is_cJSON_True(ismine) != 0 )
destvalid = 1;
else destvalid = 0;
free(ismine);
free(tmpstr);
free(retjson);
tmpstr = 0;
@ -1995,4 +1996,3 @@ TWO_INTS(bitcoinrpc,listaccounts,minconf,includewatchonly)
}
#include "../includes/iguana_apiundefs.h"

Loading…
Cancel
Save