Project

General

Profile

Revision 277

Added by Kevin Woo almost 14 years ago

New buffer size, prevents buffer overflows in cardreader

View differences:

main.c
154 154

  
155 155
int main(void) {
156 156
    uint8_t mbuf[PROGD_PACKET_SIZE];
157
    uint8_t cbuf[100];
157
    uint8_t cbuf[20];
158 158
    uint8_t clen;
159
    int8_t cret;
159 160
    uint8_t resp;
160 161
    uint8_t  c;
161 162
    uint8_t len;
......
177 178
            read_card = 1;
178 179
            if (cr_flag != CR_NONE) {
179 180
                read_card = 0;
180
                if (parse_card(cbuf, &clen) < 0) {
181
                if ((cret = parse_card(cbuf, &clen)) < 0) {
182
                    switch (cret) {
183
                        case CR_ERR_BAD_PARITY:
184
                            toggle_led(LED_GREEN, ON);
185
                            break;
186
                        case CR_ERR_NO_START:
187
                            toggle_led(LED_YELLOW, ON);
188
                            break;
189
                        case CR_ERR_NO_STOP:
190
                            toggle_led(LED_RED, ON);
191
                            break;
192
                    }
181 193
                    rs485_send_byte('F');
182 194
                } else {
183 195
                    for (c = 0; c < clen; c++) {

Also available in: Unified diff