comparison gendss.c @ 1478:3a933956437e coverity

update coverity
author Matt Johnston <matt@ucc.asn.au>
date Fri, 09 Feb 2018 23:49:22 +0800
parents 06d52bcb8094
children f52919ffd3b1
comparison
equal deleted inserted replaced
1439:8d24733026c5 1478:3a933956437e
35 35
36 /* This is just a test */ 36 /* This is just a test */
37 37
38 #if DROPBEAR_DSS 38 #if DROPBEAR_DSS
39 39
40 static void getq(dropbear_dss_key *key); 40 static void getq(const dropbear_dss_key *key);
41 static void getp(dropbear_dss_key *key, unsigned int size); 41 static void getp(const dropbear_dss_key *key, unsigned int size);
42 static void getg(dropbear_dss_key *key); 42 static void getg(const dropbear_dss_key *key);
43 static void getx(dropbear_dss_key *key); 43 static void getx(const dropbear_dss_key *key);
44 static void gety(dropbear_dss_key *key); 44 static void gety(const dropbear_dss_key *key);
45 45
46 dropbear_dss_key * gen_dss_priv_key(unsigned int size) { 46 dropbear_dss_key * gen_dss_priv_key(unsigned int size) {
47 47
48 dropbear_dss_key *key; 48 dropbear_dss_key *key;
49 49
63 63
64 return key; 64 return key;
65 65
66 } 66 }
67 67
68 static void getq(dropbear_dss_key *key) { 68 static void getq(const dropbear_dss_key *key) {
69 69
70 unsigned char buf[QSIZE]; 70 unsigned char buf[QSIZE];
71 71
72 /* 160 bit prime */ 72 /* 160 bit prime */
73 genrandom(buf, QSIZE); 73 genrandom(buf, QSIZE);
81 fprintf(stderr, "DSS key generation failed\n"); 81 fprintf(stderr, "DSS key generation failed\n");
82 exit(1); 82 exit(1);
83 } 83 }
84 } 84 }
85 85
86 static void getp(dropbear_dss_key *key, unsigned int size) { 86 static void getp(const dropbear_dss_key *key, unsigned int size) {
87 87
88 DEF_MP_INT(tempX); 88 DEF_MP_INT(tempX);
89 DEF_MP_INT(tempC); 89 DEF_MP_INT(tempC);
90 DEF_MP_INT(tempP); 90 DEF_MP_INT(tempP);
91 DEF_MP_INT(temp2q); 91 DEF_MP_INT(temp2q);
140 mp_clear_multi(&tempX, &tempC, &tempP, &temp2q, NULL); 140 mp_clear_multi(&tempX, &tempC, &tempP, &temp2q, NULL);
141 m_burn(buf, size); 141 m_burn(buf, size);
142 m_free(buf); 142 m_free(buf);
143 } 143 }
144 144
145 static void getg(dropbear_dss_key * key) { 145 static void getg(const dropbear_dss_key * key) {
146 146
147 DEF_MP_INT(div); 147 DEF_MP_INT(div);
148 DEF_MP_INT(h); 148 DEF_MP_INT(h);
149 DEF_MP_INT(val); 149 DEF_MP_INT(val);
150 150
177 } while (mp_cmp_d(key->g, 1) != MP_GT); 177 } while (mp_cmp_d(key->g, 1) != MP_GT);
178 178
179 mp_clear_multi(&div, &h, &val, NULL); 179 mp_clear_multi(&div, &h, &val, NULL);
180 } 180 }
181 181
182 static void getx(dropbear_dss_key *key) { 182 static void getx(const dropbear_dss_key *key) {
183 183
184 gen_random_mpint(key->q, key->x); 184 gen_random_mpint(key->q, key->x);
185 } 185 }
186 186
187 static void gety(dropbear_dss_key *key) { 187 static void gety(const dropbear_dss_key *key) {
188 188
189 if (mp_exptmod(key->g, key->x, key->p, key->y) != MP_OKAY) { 189 if (mp_exptmod(key->g, key->x, key->p, key->y) != MP_OKAY) {
190 fprintf(stderr, "DSS key generation failed\n"); 190 fprintf(stderr, "DSS key generation failed\n");
191 exit(1); 191 exit(1);
192 } 192 }