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. 28
      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); field = jfieldname(item);
if ( (hexstr= jstr(item,field)) != 0 && is_hexstr(hexstr,0) == 66 ) if ( (hexstr= jstr(item,field)) != 0 && is_hexstr(hexstr,0) == 66 )
{ {
Notaries_elected[i][0] = clonestr(field); strcpy(Notaries_elected[i][0],field);
Notaries_elected[i][1] = clonestr(hexstr); strcpy(Notaries_elected[i][1],hexstr);
free(field);
free(hexstr);
//printf("%d of %d: %s %s\n",i,n,field,hexstr); //printf("%d of %d: %s %s\n",i,n,field,hexstr);
} }
else 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:""); printf("couldnt find (%s) in %s or non-hex (%s)\n",field,jprint(item,0),hexstr!=0?hexstr:"");
break; break;
} }
free(field);
free(hexstr);
} }
if ( i == n ) 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); printf("src validation error %s %s %s\n",src->symbol,srcaddr,retstr);
} }
free(retstr); free(retstr);
free_json(json);
retstr = 0; retstr = 0;
} else printf("%s %s didnt return anything\n",src->symbol,srcaddr); } else printf("%s %s didnt return anything\n",src->symbol,srcaddr);
bitcoin_address(destaddr,destcoin->chain->pubtype,dp->minerkey33,33); 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); printf("dest validation error %s %s %s\n",src->symbol,srcaddr,retstr);
} }
free(retstr); free(retstr);
free_json(json);
retstr = 0; retstr = 0;
} else printf("%s %s didnt return anything\n",destcoin->symbol,destaddr); } else printf("%s %s didnt return anything\n",destcoin->symbol,destaddr);
if ( srcvalid <= 0 || destvalid <= 0 ) if ( srcvalid <= 0 || destvalid <= 0 )

28
iguana/iguana_rpc.c

@ -1117,15 +1117,28 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz
jaddstr(arg,"userpass",userpass); jaddstr(arg,"userpass",userpass);
retstr = SuperNET_JSON(myinfo,coin,arg,remoteaddr,port); retstr = SuperNET_JSON(myinfo,coin,arg,remoteaddr,port);
} }
free_json(argjson); if ( tokens != 0)
free_json(json); free_json(tokens);
if ( argjson != 0 )
free_json(argjson);
if ( origargjson != 0 )
free_json(origargjson);
if ( tmpjson != 0 ) if ( tmpjson != 0 )
free(tmpjson); free_json(tmpjson);
if ( json != 0 )
free_json(json);
return(retstr); return(retstr);
} }
free_json(argjson); if ( tokens != 0)
free_json(tokens);
if ( argjson != 0 )
free_json(argjson);
if ( origargjson != 0 )
free_json(origargjson);
if ( tmpjson != 0 ) if ( tmpjson != 0 )
free(tmpjson); free_json(tmpjson);
if ( json != 0 )
free_json(json);
*jsonflagp = 1; *jsonflagp = 1;
return(clonestr("{\"error\":\"couldnt process packet\"}")); 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); printf("iguana sent.%d remains.%d of len.%d\n",numsent,remains,recvlen);
} }
} }
//if ( retstr != space) if ( retstr != space)
// free(retstr); free(retstr);
} }
free(retstr);
closesocket(sock); 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 ) if ( (ismine= jobj(json,"ismine")) != 0 && is_cJSON_True(ismine) != 0 )
destvalid = 1; destvalid = 1;
else destvalid = 0; else destvalid = 0;
free(ismine);
free(tmpstr); free(tmpstr);
free(retjson); free(retjson);
tmpstr = 0; tmpstr = 0;
@ -1995,4 +1996,3 @@ TWO_INTS(bitcoinrpc,listaccounts,minconf,includewatchonly)
} }
#include "../includes/iguana_apiundefs.h" #include "../includes/iguana_apiundefs.h"

Loading…
Cancel
Save