Unverified Commit 07c553db authored by Stan Kladko's avatar Stan Kladko Committed by GitHub

Merge pull request #94 from skalenetwork/SKALE-1880-FIX-WARNINGS

Skale 1880 fix warnings
parents 7f2d4e74 ce9a74eb
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
@date 2018 @date 2018
*/ */
#ifndef _LOG_H #ifndef _LOG_H
#define _LOG_H #define _LOG_H
......
...@@ -94,6 +94,10 @@ void domain_parameters_set_hex(domain_parameters curve, char* name, char* p, cha ...@@ -94,6 +94,10 @@ void domain_parameters_set_hex(domain_parameters curve, char* name, char* p, cha
/*Release memory*/ /*Release memory*/
void domain_parameters_clear(domain_parameters curve) void domain_parameters_clear(domain_parameters curve)
{ {
if (!curve)
return;
mpz_clear(curve->p); mpz_clear(curve->p);
mpz_clear(curve->a); mpz_clear(curve->a);
mpz_clear(curve->b); mpz_clear(curve->b);
......
...@@ -55,20 +55,7 @@ void point_at_infinity(point p) ...@@ -55,20 +55,7 @@ void point_at_infinity(point p)
} }
/*Print point to standart output stream*/ /*Print point to standart output stream*/
void point_print(point p)
{
/* //Write something if point is a infinity
if(p->infinity)
{
printf("Point is at infinity!");
}else{
printf("\nPoint: (\n\t");
//mpz_out_str(stdout, 10, p->x);
printf("\n,\n\t");
//mpz_out_str(stdout, 10, p->y);
printf("\n)\n");
}*/
}
/*Set a point from another point*/ /*Set a point from another point*/
void point_set(point R, point P) void point_set(point R, point P)
...@@ -82,16 +69,19 @@ void point_set(point R, point P) ...@@ -82,16 +69,19 @@ void point_set(point R, point P)
} }
/*Set point from strings of a base from 2-62*/ /*Set point from strings of a base from 2-62*/
void point_set_str(point p, const char *x, const char *y, int base) int point_set_str(point p, const char *x, const char *y, int base)
{ {
mpz_set_str(p->x, x, base); if (mpz_set_str(p->x, x, base) != 0 || mpz_set_str(p->y, y, base) != 0) {
mpz_set_str(p->y, y, base); return 1;
}
return 0;
} }
/*Set point from hexadecimal strings*/ /*Set point from hexadecimal strings*/
void point_set_hex(point p, const char *x, const char *y) int point_set_hex(point p, const char *x, const char *y)
{ {
point_set_str(p,x,y,16); return point_set_str(p,x,y,16);
} }
/*Set point from decimal unsigned long ints*/ /*Set point from decimal unsigned long ints*/
...@@ -292,7 +282,7 @@ Loops through the integer bit per bit, if a bit is 1 then x is added to the resu ...@@ -292,7 +282,7 @@ Loops through the integer bit per bit, if a bit is 1 then x is added to the resu
This is not the most effecient method of point multiplication, but it's faster than P+P+P+... which is not computational feasiable. This is not the most effecient method of point multiplication, but it's faster than P+P+P+... which is not computational feasiable.
*/ */
int bits = mpz_sizeinbase(multiplier, 2); int bits = mpz_sizeinbase(multiplier, 2);
unsigned long int bit = 0; long int bit = 0;
while(bit <= bits) while(bit <= bits)
{ {
if(mpz_tstbit(multiplier, bit)) if(mpz_tstbit(multiplier, bit))
...@@ -392,6 +382,8 @@ char* point_compress(point P) ...@@ -392,6 +382,8 @@ char* point_compress(point P)
/*Release point*/ /*Release point*/
void point_clear(point p) void point_clear(point p)
{ {
if (!p)
return;
mpz_clear(p->x); mpz_clear(p->x);
mpz_clear(p->y); mpz_clear(p->y);
free(p); free(p);
......
...@@ -46,7 +46,7 @@ EXTERNC void point_inverse(point R, point P, domain_parameters curve); ...@@ -46,7 +46,7 @@ EXTERNC void point_inverse(point R, point P, domain_parameters curve);
EXTERNC void point_print(point p); EXTERNC void point_print(point p);
/*Set point from hexadecimal strings*/ /*Set point from hexadecimal strings*/
EXTERNC void point_set_hex(point p, const char *x, const char *y); EXTERNC int point_set_hex(point p, const char *x, const char *y);
/*Set point from decimal unsigned long ints*/ /*Set point from decimal unsigned long ints*/
EXTERNC void point_set_ui(point p, unsigned long int x, unsigned long int y); EXTERNC void point_set_ui(point p, unsigned long int x, unsigned long int y);
...@@ -61,7 +61,7 @@ EXTERNC void point_doubling(point R, point P, domain_parameters curve); ...@@ -61,7 +61,7 @@ EXTERNC void point_doubling(point R, point P, domain_parameters curve);
EXTERNC void point_multiplication(point R, mpz_t multiplier, point P, domain_parameters curve); EXTERNC void point_multiplication(point R, mpz_t multiplier, point P, domain_parameters curve);
/*Set point from strings of a base from 2-62*/ /*Set point from strings of a base from 2-62*/
EXTERNC void point_set_str(point p, const char *x, const char *y, int base); EXTERNC int point_set_str(point p, const char *x, const char *y, int base);
/*Compare two points return 1 if not the same, returns 0 if they are the same*/ /*Compare two points return 1 if not the same, returns 0 if they are the same*/
EXTERNC bool point_cmp(point P, point Q); EXTERNC bool point_cmp(point P, point Q);
......
...@@ -49,24 +49,19 @@ signature signature_init() { ...@@ -49,24 +49,19 @@ signature signature_init() {
return sig; return sig;
} }
/*Print signature to standart output stream*/
void signature_print(signature sig) {
/*printf("\nSignature (r,s): \n\t(");
mpz_out_str(stdout, 10, sig->r);
printf(",\n\t");
mpz_out_str(stdout, 10, sig->s);
printf(")\n");*/
}
/*Set signature from strings of a base from 2-62*/ /*Set signature from strings of a base from 2-62*/
void signature_set_str(signature sig, const char *r, const char *s, int base) { int signature_set_str(signature sig, const char *r, const char *s, int base) {
mpz_set_str(sig->r, r, base); if ( mpz_set_str(sig->r, r, base) !=0 || mpz_set_str(sig->s, s, base) != 0) {
mpz_set_str(sig->s, s, base); return 1;
}
return 0;
} }
/*Set signature from hexadecimal strings*/ /*Set signature from hexadecimal strings*/
void signature_set_hex(signature sig, const char *r, const char *s) { int signature_set_hex(signature sig, const char *r, const char *s) {
signature_set_str(sig, r, s, 16); return signature_set_str(sig, r, s, 16);
} }
/*Set signature from decimal unsigned long ints*/ /*Set signature from decimal unsigned long ints*/
...@@ -184,6 +179,8 @@ void signature_sign(signature sig, mpz_t message, mpz_t private_key, domain_para ...@@ -184,6 +179,8 @@ void signature_sign(signature sig, mpz_t message, mpz_t private_key, domain_para
/*Release signature*/ /*Release signature*/
void signature_free(signature sig) { void signature_free(signature sig) {
if (!sig)
return;
mpz_clear(sig->r); mpz_clear(sig->r);
mpz_clear(sig->s); mpz_clear(sig->s);
free(sig); free(sig);
......
...@@ -44,10 +44,10 @@ typedef struct signature_s* signature; ...@@ -44,10 +44,10 @@ typedef struct signature_s* signature;
EXTERNC signature signature_init(); EXTERNC signature signature_init();
/*Set signature from strings of a base from 2-62*/ /*Set signature from strings of a base from 2-62*/
EXTERNC void signature_set_str(signature sig, const char *r, const char *s, int base); EXTERNC int signature_set_str(signature sig, const char *r, const char *s, int base);
/*Set signature from hexadecimal strings*/ /*Set signature from hexadecimal strings*/
EXTERNC void signature_set_hex(signature sig, const char *r, const char *s); EXTERNC int signature_set_hex(signature sig, const char *r, const char *s);
/*Set signature from decimal unsigned long ints*/ /*Set signature from decimal unsigned long ints*/
EXTERNC void signature_set_ui(signature sig, unsigned long int r, unsigned long int s); EXTERNC void signature_set_ui(signature sig, unsigned long int r, unsigned long int s);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment