From: Jonathan Dieter Date: Wed, 25 Jul 2018 16:05:51 +0000 (+0100) Subject: Fix format not a string literal and no format arguments, and make errors X-Git-Tag: archive/raspbian/1.1.9+ds1-1+rpi1~1^2~171 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=986086c928da26ee3150bc57fd4f63544553db04;p=zchunk.git Fix format not a string literal and no format arguments, and make errors const Signed-off-by: Jonathan Dieter --- diff --git a/src/lib/error.c b/src/lib/error.c index 5017e17..5bddc22 100644 --- a/src/lib/error.c +++ b/src/lib/error.c @@ -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; } diff --git a/src/lib/header.c b/src/lib/header.c index 3fe9b8f..096855b 100644 --- a/src/lib/header.c +++ b/src/lib/header.c @@ -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; diff --git a/src/unzck.c b/src/unzck.c index 4353866..ee71f5e 100644 --- a/src/unzck.c +++ b/src/unzck.c @@ -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) diff --git a/src/zck.c b/src/zck.c index bb954c6..cf48ab9 100644 --- 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) { diff --git a/src/zck_dl.c b/src/zck_dl.c index caee343..d2bc20f 100644 --- a/src/zck_dl.c +++ b/src/zck_dl.c @@ -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; } diff --git a/src/zck_read_header.c b/src/zck_read_header.c index 8b443de..5f9e101 100644 --- a/src/zck_read_header.c +++ b/src/zck_read_header.c @@ -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); }