Skip to content

Commit 091dac3

Browse files
committed
update CI, define text buf size
1 parent ed136df commit 091dac3

File tree

3 files changed

+36
-28
lines changed

3 files changed

+36
-28
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,6 @@ jobs:
2525
with:
2626
path: 'applications_user/FlipBIP'
2727
- name: Build FAPs
28-
run: ./fbt COMPACT=1 DEBUG=0 faps
28+
run: ./fbt COMPACT=1 DEBUG=0 faps
29+
- name: Check FlipBIP Built
30+
run: test -f build/f7-firmware-C/.extapps/FlipBIP.fap

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ jobs:
2525
path: 'applications_user/FlipBIP'
2626
- name: Build FAPs
2727
run: ./fbt COMPACT=1 DEBUG=0 faps
28-
- name: Get tag
28+
- name: Check FlipBIP Built
29+
run: test -f build/f7-firmware-C/.extapps/FlipBIP.fap
30+
- name: Get Tag
2931
id: tag
3032
uses: dawidd6/action-get-tag@v1
3133
with:

views/flipbip_scene_1.c

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
#define DERIV_ACCOUNT 0
2323
#define DERIV_CHANGE 0
2424

25-
#define MAX_ADDR_LEN 42 + 1 // 42 = max length of address + null terminator
25+
#define MAX_TEXT_LEN 30 // 30 = max length of text
26+
#define MAX_TEXT_BUF (MAX_TEXT_LEN + 1) // max length of text + null terminator
27+
#define MAX_ADDR_BUF (42 + 1) // 42 = max length of address + null terminator
2628
#define NUM_ADDRS 6
2729

2830
#define PAGE_LOADING 0
@@ -116,13 +118,15 @@ static void flipbip_scene_1_init_address(
116118
uint32_t addr_index) {
117119
//s_busy = true;
118120

119-
// Buffer for address serialization
120-
const size_t buflen = 40;
121-
char buf[40 + 1] = {0};
121+
// buffer for address serialization
122+
// subtract 2 for "0x", 1 for null terminator
123+
const size_t buflen = MAX_ADDR_BUF - (2 + 1);
124+
// subtract 2 for "0x"
125+
char buf[MAX_ADDR_BUF - 2] = {0};
122126

123127
// Use static node for address generation
124128
memcpy(s_addr_node, node, sizeof(HDNode));
125-
memzero(addr_text, MAX_ADDR_LEN);
129+
memzero(addr_text, MAX_ADDR_BUF);
126130

127131
hdnode_private_ckd(s_addr_node, addr_index);
128132
hdnode_fill_public_key(s_addr_node);
@@ -161,8 +165,8 @@ static void
161165
flipbip_scene_1_draw_generic(const char* text, const size_t line_len, const bool chunk) {
162166
// Split the text into parts
163167
size_t len = line_len;
164-
if(len > 30) {
165-
len = 30;
168+
if(len > MAX_TEXT_LEN) {
169+
len = MAX_TEXT_LEN;
166170
}
167171
for(size_t si = 1; si <= 6; si++) {
168172
char* ptr = NULL;
@@ -180,7 +184,7 @@ static void
180184
else if(si == 6)
181185
ptr = s_disp_text6;
182186

183-
memzero(ptr, 30 + 1);
187+
memzero(ptr, MAX_TEXT_BUF);
184188
strncpy(ptr, text + ((si - 1) * len), len);
185189
// add a space every 4 characters and shift the text
186190
if(len < 23 && chunk) {
@@ -231,9 +235,9 @@ static void flipbip_scene_1_draw_mnemonic(const char* mnemonic) {
231235
else if(mi == 6)
232236
ptr = s_disp_text6;
233237

234-
memzero(ptr, 30 + 1);
235-
if(strlen(mnemonic_part) > 30) {
236-
strncpy(ptr, mnemonic_part, 30);
238+
memzero(ptr, MAX_TEXT_BUF);
239+
if(strlen(mnemonic_part) > MAX_TEXT_LEN) {
240+
strncpy(ptr, mnemonic_part, MAX_TEXT_LEN);
237241
} else {
238242
strncpy(ptr, mnemonic_part, strlen(mnemonic_part));
239243
}
@@ -260,12 +264,12 @@ static void flipbip_scene_1_draw_seed(FlipBipScene1Model* const model) {
260264
}
261265

262266
static void flipbip_scene_1_clear_text() {
263-
memzero((void*)s_disp_text1, 30 + 1);
264-
memzero((void*)s_disp_text2, 30 + 1);
265-
memzero((void*)s_disp_text3, 30 + 1);
266-
memzero((void*)s_disp_text4, 30 + 1);
267-
memzero((void*)s_disp_text5, 30 + 1);
268-
memzero((void*)s_disp_text6, 30 + 1);
267+
memzero((void*)s_disp_text1, MAX_TEXT_BUF);
268+
memzero((void*)s_disp_text2, MAX_TEXT_BUF);
269+
memzero((void*)s_disp_text3, MAX_TEXT_BUF);
270+
memzero((void*)s_disp_text4, MAX_TEXT_BUF);
271+
memzero((void*)s_disp_text5, MAX_TEXT_BUF);
272+
memzero((void*)s_disp_text6, MAX_TEXT_BUF);
269273
}
270274

271275
void flipbip_scene_1_draw(Canvas* canvas, FlipBipScene1Model* model) {
@@ -472,8 +476,8 @@ static int flipbip_scene_1_model_init(
472476

473477
// Initialize addresses
474478
for(uint8_t a = 0; a < NUM_ADDRS; a++) {
475-
model->recv_addresses[a] = malloc(MAX_ADDR_LEN);
476-
memzero(model->recv_addresses[a], MAX_ADDR_LEN);
479+
model->recv_addresses[a] = malloc(MAX_ADDR_BUF);
480+
memzero(model->recv_addresses[a], MAX_ADDR_BUF);
477481
flipbip_scene_1_init_address(model->recv_addresses[a], node, coin, a);
478482

479483
// Save QR code file
@@ -597,7 +601,7 @@ void flipbip_scene_1_exit(void* context) {
597601
free((void*)model->xprv_extended);
598602
free((void*)model->xpub_extended);
599603
for(int a = 0; a < NUM_ADDRS; a++) {
600-
memzero((void*)model->recv_addresses[a], MAX_ADDR_LEN);
604+
memzero((void*)model->recv_addresses[a], MAX_ADDR_BUF);
601605
free((void*)model->recv_addresses[a]);
602606
}
603607
}
@@ -696,12 +700,12 @@ FlipBipScene1* flipbip_scene_1_alloc() {
696700
s_addr_node = (HDNode*)malloc(sizeof(HDNode));
697701

698702
// allocate the display text
699-
s_disp_text1 = (char*)malloc(30 + 1);
700-
s_disp_text2 = (char*)malloc(30 + 1);
701-
s_disp_text3 = (char*)malloc(30 + 1);
702-
s_disp_text4 = (char*)malloc(30 + 1);
703-
s_disp_text5 = (char*)malloc(30 + 1);
704-
s_disp_text6 = (char*)malloc(30 + 1);
703+
s_disp_text1 = (char*)malloc(MAX_TEXT_BUF);
704+
s_disp_text2 = (char*)malloc(MAX_TEXT_BUF);
705+
s_disp_text3 = (char*)malloc(MAX_TEXT_BUF);
706+
s_disp_text4 = (char*)malloc(MAX_TEXT_BUF);
707+
s_disp_text5 = (char*)malloc(MAX_TEXT_BUF);
708+
s_disp_text6 = (char*)malloc(MAX_TEXT_BUF);
705709

706710
return instance;
707711
}

0 commit comments

Comments
 (0)