diff --git a/fastboot/engine.c b/fastboot/engine.c
index 7d440e0..5a6709b 100644
--- a/fastboot/engine.c
+++ b/fastboot/engine.c
@@ -66,7 +66,7 @@
     char cmd[CMD_SIZE];
     const char *prod;
     void *data;
-    size_t size;
+    unsigned size;
 
     const char *msg;
     int (*func)(Action *a, int status, char *resp);
@@ -169,7 +169,7 @@
     a->msg = mkmsg("erasing '%s'", ptn);
 }
 
-void fb_queue_flash(const char *ptn, void *data, size_t sz)
+void fb_queue_flash(const char *ptn, void *data, unsigned sz)
 {
     Action *a;
 
@@ -182,7 +182,7 @@
     a->msg = mkmsg("writing '%s'", ptn);
 }
 
-void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, size_t sz)
+void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, unsigned sz)
 {
     Action *a;
 
diff --git a/fastboot/fastboot.c b/fastboot/fastboot.c
index eeab2e9..4d3e0af 100644
--- a/fastboot/fastboot.c
+++ b/fastboot/fastboot.c
@@ -92,8 +92,8 @@
 
 struct fastboot_buffer {
     enum fb_buffer_type type;
-    size_t sz;
     void *data;
+    unsigned int sz;
 };
 
 static struct {
@@ -152,7 +152,7 @@
     return strdup(path);
 }
 
-static ssize_t file_size(int fd)
+static int64_t file_size(int fd)
 {
     struct stat st;
     int ret;
@@ -162,12 +162,15 @@
     return ret ? -1 : st.st_size;
 }
 
-static void *load_fd(int fd, size_t *_sz)
+static void *load_fd(int fd, unsigned *_sz)
 {
-    char *data = NULL;
-    ssize_t sz = file_size(fd);
+    char *data;
+    int sz;
     int errno_tmp;
 
+    data = 0;
+
+    sz = file_size(fd);
     if (sz < 0) {
         goto oops;
     }
@@ -189,7 +192,7 @@
     return 0;
 }
 
-static void *load_file(const char *fn, size_t *_sz)
+static void *load_file(const char *fn, unsigned *_sz)
 {
     int fd;
 
@@ -378,34 +381,34 @@
     return bdata;
 }
 
-void *unzip_file(zipfile_t zip, const char *name, size_t *sz)
+void *unzip_file(zipfile_t zip, const char *name, unsigned *sz)
 {
     void *data;
-    zipentry_t entry = lookup_zipentry(zip, name);
-    size_t zentrysz;
-    size_t datasz;
+    zipentry_t entry;
+    unsigned datasz;
 
+    entry = lookup_zipentry(zip, name);
     if (entry == NULL) {
         fprintf(stderr, "archive does not contain '%s'\n", name);
-        return NULL;
+        return 0;
     }
 
-    zentrysz = get_zipentry_size(entry);
+    *sz = get_zipentry_size(entry);
 
-    datasz = zentrysz * 1.001;
+    datasz = *sz * 1.001;
     data = malloc(datasz);
 
-    if(data == NULL) {
-        fprintf(stderr, "failed to allocate %zu bytes\n", datasz);
-        return NULL;
+    if(data == 0) {
+        fprintf(stderr, "failed to allocate %d bytes\n", *sz);
+        return 0;
     }
 
     if (decompress_zipentry(entry, data, datasz)) {
         fprintf(stderr, "failed to unzip '%s' from archive\n", name);
         free(data);
-        return NULL;
+        return 0;
     }
-    *sz = zentrysz;
+
     return data;
 }
 
@@ -413,25 +416,24 @@
 {
     int fd;
     char *data;
-    size_t sz;
+    unsigned sz;
 
     fd = fileno(tmpfile());
     if (fd < 0) {
-        return fd;
-    }
-
-    data = unzip_file(zip, name, &sz);
-    if (data == NULL) {
         return -1;
     }
 
-    if (write(fd, data, sz) != (ssize_t)sz) {
+    data = unzip_file(zip, name, &sz);
+    if (data == 0) {
+        return -1;
+    }
+
+    if (write(fd, data, sz) != sz) {
         fd = -1;
-    } else {
-        lseek(fd, 0, SEEK_SET);
     }
 
     free(data);
+    lseek(fd, 0, SEEK_SET);
     return fd;
 }
 
@@ -512,10 +514,11 @@
     return 0;
 }
 
-static void setup_requirements(char *data, size_t sz)
+static void setup_requirements(char *data, unsigned sz)
 {
-    char *s = data;
+    char *s;
 
+    s = data;
     while (sz-- > 0) {
         if(*s == '\n') {
             *s++ = 0;
@@ -625,15 +628,14 @@
 static int load_buf_fd(usb_handle *usb, int fd,
         struct fastboot_buffer *buf)
 {
-    ssize_t f_size = file_size(fd);
-    void *data = NULL;
-    int64_t limit;
     int64_t sz64;
+    void *data;
+    int64_t limit;
 
-    if (f_size < 0) {
-        return f_size;
-    } else {
-        sz64 = f_size;
+
+    sz64 = file_size(fd);
+    if (sz64 < 0) {
+        return -1;
     }
 
     lseek(fd, 0, SEEK_SET);
@@ -646,12 +648,12 @@
         buf->type = FB_BUFFER_SPARSE;
         buf->data = s;
     } else {
-        size_t sz;
+        unsigned int sz;
         data = load_fd(fd, &sz);
-        if (data == NULL) return -1;
+        if (data == 0) return -1;
         buf->type = FB_BUFFER;
-        buf->sz = sz;
         buf->data = data;
+        buf->sz = sz;
     }
 
     return 0;
@@ -702,11 +704,10 @@
 
 void do_update_signature(zipfile_t zip, char *fn)
 {
-    size_t sz;
-    void *data = unzip_file(zip, fn, &sz);
-    if (data == NULL) {
-        die("can't unzip '%s'", fn);
-    }
+    void *data;
+    unsigned sz;
+    data = unzip_file(zip, fn, &sz);
+    if (data == 0) return;
     fb_queue_download("signature", data, sz);
     fb_queue_command("signature", "installing signature");
 }
@@ -716,12 +717,12 @@
     void *zdata;
     unsigned zsize;
     void *data;
-    size_t sz = 0;
+    unsigned sz;
     zipfile_t zip;
     int fd;
     int rc;
     struct fastboot_buffer buf;
-    size_t i;
+    int i;
 
     queue_info_dump();
 
@@ -734,11 +735,11 @@
     if(zip == 0) die("failed to access zipdata in '%s'");
 
     data = unzip_file(zip, "android-info.txt", &sz);
-    if (data == NULL) {
+    if (data == 0) {
         char *tmp;
             /* fallback for older zipfiles */
         data = unzip_file(zip, "android-product.txt", &sz);
-        if ((data == NULL) || (sz < 1)) {
+        if ((data == 0) || (sz < 1)) {
             die("update package has no android-info.txt or android-product.txt");
         }
         tmp = malloc(sz + 128);
@@ -774,7 +775,7 @@
 void do_send_signature(char *fn)
 {
     void *data;
-    size_t sz;
+    unsigned sz;
     char *xtn;
 
     xtn = strrchr(fn, '.');
@@ -793,9 +794,9 @@
 {
     char *fname;
     void *data;
-    size_t sz;
+    unsigned sz;
     struct fastboot_buffer buf;
-    size_t i;
+    int i;
 
     queue_info_dump();
 
@@ -977,7 +978,7 @@
     int wants_reboot_bootloader = 0;
     int erase_first = 1;
     void *data;
-    size_t sz;
+    unsigned sz;
     int status;
     int c;
     int r;
diff --git a/fastboot/fastboot.h b/fastboot/fastboot.h
index 30e79c1..fc5d4f4 100644
--- a/fastboot/fastboot.h
+++ b/fastboot/fastboot.h
@@ -29,7 +29,6 @@
 #ifndef _FASTBOOT_H_
 #define _FASTBOOT_H_
 
-#include <stdlib.h>
 #include "usb.h"
 
 struct sparse_file;
@@ -37,7 +36,7 @@
 /* protocol.c - fastboot protocol */
 int fb_command(usb_handle *usb, const char *cmd);
 int fb_command_response(usb_handle *usb, const char *cmd, char *response);
-int fb_download_data(usb_handle *usb, const void *data, size_t size);
+int fb_download_data(usb_handle *usb, const void *data, unsigned size);
 int fb_download_data_sparse(usb_handle *usb, struct sparse_file *s);
 char *fb_get_error(void);
 
@@ -48,16 +47,16 @@
 int fb_getvar(struct usb_handle *usb, char *response, const char *fmt, ...);
 int fb_format_supported(usb_handle *usb, const char *partition, const char *type_override);
 void fb_queue_flash(const char *ptn, void *data, unsigned sz);
-void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, size_t sz);
+void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, unsigned sz);
 void fb_queue_erase(const char *ptn);
 void fb_queue_format(const char *ptn, int skip_if_not_supported, unsigned int max_chunk_sz);
 void fb_queue_require(const char *prod, const char *var, int invert,
         unsigned nvalues, const char **value);
 void fb_queue_display(const char *var, const char *prettyname);
-void fb_queue_query_save(const char *var, char *dest, size_t dest_size);
+void fb_queue_query_save(const char *var, char *dest, unsigned dest_size);
 void fb_queue_reboot(void);
 void fb_queue_command(const char *cmd, const char *msg);
-void fb_queue_download(const char *name, void *data, size_t size);
+void fb_queue_download(const char *name, void *data, unsigned size);
 void fb_queue_notice(const char *notice);
 void fb_queue_wait_for_disconnect(void);
 int fb_execute_queue(usb_handle *usb);
diff --git a/fastboot/usbtest.c b/fastboot/usbtest.c
index 488db06..b8fb9e2 100644
--- a/fastboot/usbtest.c
+++ b/fastboot/usbtest.c
@@ -35,8 +35,8 @@
 
 #include "usb.h"
 
-static int arg_size = 4096;
-static int arg_count = 4096;
+static unsigned arg_size = 4096;
+static unsigned arg_count = 4096;
 
 long long NOW(void)
 {
@@ -134,7 +134,7 @@
     { "send", match_null, test_null, "send to null interface" },
     { "recv", match_zero, test_zero, "recv from zero interface" },
     { "loop", match_loop, 0,         "exercise loopback interface" },
-    { NULL, NULL, NULL, NULL },
+    {},
 };
 
 int usage(void)
