summaryrefslogtreecommitdiff
path: root/camlibs/canon/serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'camlibs/canon/serial.c')
-rw-r--r--camlibs/canon/serial.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/camlibs/canon/serial.c b/camlibs/canon/serial.c
index de99a9a45..0c8568050 100644
--- a/camlibs/canon/serial.c
+++ b/camlibs/canon/serial.c
@@ -388,6 +388,8 @@ canon_serial_send_packet (Camera *camera, unsigned char type, unsigned char seq,
if (type == PKT_EOT || type == PKT_ACK || type == PKT_NACK)
len = 2; /* @@@ hack */
crc = canon_psa50_gen_crc (hdr, len + PKT_HDR_LEN);
+ if (crc == -1)
+ return GP_ERROR;
pkt[len] = crc & 0xff;
pkt[len + 1] = crc >> 8;
@@ -720,10 +722,8 @@ canon_serial_recv_msg (Camera *camera, unsigned char mtype, unsigned char dir, u
if (msg_pos + len > msg_size || !msg) {
msg_size *= 2;
msg = realloc (msg, msg_size);
- if (!msg) {
- perror ("realloc");
- exit (1);
- }
+ if (!msg)
+ return NULL;
}
memcpy (msg + msg_pos, frag, len);
msg_pos += len;