Fix format not a string literal and no format arguments, and make errors
authorJonathan Dieter <jdieter@gmail.com>
Wed, 25 Jul 2018 16:05:51 +0000 (17:05 +0100)
committerJonathan Dieter <jdieter@gmail.com>
Wed, 25 Jul 2018 16:05:51 +0000 (17:05 +0100)
const

Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
src/lib/error.c
src/lib/header.c
src/unzck.c
src/zck.c
src/zck_dl.c
src/zck_read_header.c

index 5017e17064db96f01d2522ee687b59ace522235a..5bddc22f7e0b8a014e7f20519a46f8026611c66a 100644 (file)
@@ -32,7 +32,7 @@
 
 #include "zck_private.h"
 
-char *snprintf_error = "Unknown error";
+static const char *empty_error = "";
 
 void set_error_wf(zckCtx *zck, int fatal, const char *function,
                   const char *format, ...) {
@@ -79,10 +79,12 @@ int PUBLIC zck_is_error(zckCtx *zck) {
     return zck->error_state;
 }
 
-char PUBLIC *zck_get_error(zckCtx *zck) {
+const char PUBLIC *zck_get_error(zckCtx *zck) {
     if(zck == NULL)
         return "zckCtx is NULL\n";
 
+    if(zck->msg == NULL)
+        return empty_error;
     return zck->msg;
 }
 
index 3fe9b8f436a9159518fac38809f3c40e23041a86..096855b0b1e93d07255ed67c618d360da4d37bb3 100644 (file)
@@ -534,7 +534,8 @@ int PUBLIC zck_validate_lead(zckCtx *zck) {
     VALIDATE_BOOL(zck);
 
     int retval = read_lead(zck);
-    zck_clear_error(zck);
+    if(!zck_clear_error(zck))
+        return False;
     free(zck->header);
     free(zck->header_digest);
     zck->header = NULL;
index 4353866390118264114fda006d1cc4d8447b0085..ee71f5e7a628630bf1d7fa6e98978c40f6bb86c5 100644 (file)
@@ -164,7 +164,7 @@ int main (int argc, char *argv[]) {
 error2:
     free(data);
     if(!good_exit)
-        printf(zck_get_error(zck));
+        printf("%s", zck_get_error(zck));
     zck_free(&zck);
 error1:
     if(!good_exit)
index bb954c62733262bb39818657aaaad1138d691546..cf48ab97bf6d6ffe29b2d614fc07f1e61a21df7a 100644 (file)
--- a/src/zck.c
+++ b/src/zck.c
@@ -180,14 +180,14 @@ int main (int argc, char *argv[]) {
     }*/
     if(dict_size > 0) {
         if(!zck_set_soption(zck, ZCK_COMP_DICT, dict, dict_size)) {
-            printf(zck_get_error(zck));
+            printf("%s\n", zck_get_error(zck));
             exit(1);
         }
     }
     free(dict);
     if(arguments.manual_chunk) {
         if(!zck_set_ioption(zck, ZCK_MANUAL_CHUNK, 1)) {
-            printf(zck_get_error(zck));
+            printf("%s\n", zck_get_error(zck));
             exit(1);
         }
     }
@@ -270,14 +270,14 @@ int main (int argc, char *argv[]) {
         /* Buzhash rolling window */
         } else {
             if(zck_write(zck, data, in_size) < 0) {
-                printf(zck_get_error(zck));
+                printf("%s", zck_get_error(zck));
                 exit(1);
             }
         }
         free(data);
     }
     if(!zck_close(zck)) {
-        printf(zck_get_error(zck));
+        printf("%s", zck_get_error(zck));
         exit(1);
     }
     if(arguments.log_level <= ZCK_LOG_INFO) {
index caee343f521ea39a63176bf3446f6c6857655342..d2bc20fb23369b57be0218b35a3c62cf0c407991 100644 (file)
@@ -315,7 +315,7 @@ int main (int argc, char *argv[]) {
         exit(10);
     }
     if(!zck_init_adv_read(zck_tgt, dst_fd)) {
-        printf(zck_get_error(zck_tgt));
+        printf("%s", zck_get_error(zck_tgt));
         exit(10);
     }
 
@@ -405,7 +405,7 @@ int main (int argc, char *argv[]) {
                 ra_index++;
             char *range_string = zck_get_range_char(zck_src, range);
             if(range_string == NULL) {
-                printf(zck_get_error(zck_src));
+                printf("%s", zck_get_error(zck_src));
                 exit_val = 10;
                 goto out;
             }
index 8b443de56f2ee23019fcfe184db323ae16b7867b..5f9e10182a532cc923958cb03cf390dc26d02c77 100644 (file)
@@ -127,7 +127,7 @@ int main (int argc, char *argv[]) {
         exit(1);
     }
     if(!zck_init_read(zck, src_fd)) {
-        printf(zck_get_error(zck));
+        printf("%s", zck_get_error(zck));
         printf("Unable to read zchunk header\n");
         exit(1);
     }