From 3cfd83e1a69a38bca040a1a9b99a3293c481ceb1 Mon Sep 17 00:00:00 2001 From: Laurence Withers Date: Tue, 3 Nov 2009 23:08:55 +0000 Subject: [PATCH] Fix potential null pointer dereference utf8_encoder() was incorrectly dereferencing the pointer `state' before testing it against null; fix by removing the variable initialisers. --- src/libutf8/500_encode_state.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libutf8/500_encode_state.c b/src/libutf8/500_encode_state.c index ff76eba..3fe4946 100644 --- a/src/libutf8/500_encode_state.c +++ b/src/libutf8/500_encode_state.c @@ -10,8 +10,7 @@ struct utf8_encode_state* utf8_encoder(struct utf8_encode_state* state) { - char* wr = state->wr, * ret; - char* endp = wr + state->wr_size - 1; + char* wr, * ret, * endp; wchar_t ch; enum utf8_encode_error_action error_action; int reencoding; @@ -21,6 +20,9 @@ utf8_encoder(struct utf8_encode_state* state) return 0; } + wr = state->wr; + endp = wr + state->wr_size - 1; + state->written = 0; while(state->rd_remain) { ch = *state->rd;