From 81ba1f28a675cd0e7fda82cb87e0ae6f1e797aab Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Wed, 23 Nov 2016 22:16:06 +0000 Subject: halfkay.c: Fix reboot --- halfkay.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/halfkay.c b/halfkay.c index c2a92a9..899e456 100644 --- a/halfkay.c +++ b/halfkay.c @@ -93,7 +93,7 @@ static void fmtcmd(void *_dest, const struct flashparams *fp, size_t addr) addr >>= fp->addrshft; for (size_t i = 0; i < fp->cmdsz; i++) - dest[i] = (addr >> (i * CHAR_BIT)) & 0xFF; + dest[i] = (addr >> (i * 8)) & 0xFF; } int flash(const struct flashparams *fp, const char *file) @@ -152,13 +152,14 @@ int reboot(const struct flashparams *fp) { size_t tsize = fp->blksz + fp->cmdsz; unsigned char *cmd = malloc(tsize); + memset(cmd, 0x00, tsize - 3); + memset(cmd, 0xff, 3); usbopen(); - - fmtcmd(cmd, fp, SIZE_MAX); usbsendcmd(cmd, tsize, true); - usbclose(); + free(cmd); + return 0; } -- cgit v1.2.3-54-g00ecf