Fix more clang-analyzer warnings (#12424)

This commit is contained in:
dav1901 2018-12-06 17:55:09 +02:00 committed by radare
parent 2cd65e45b1
commit b88806f65f
9 changed files with 9 additions and 19 deletions

View File

@ -47,7 +47,7 @@ static void r_anal_ex_perform_pre_anal_op_cb(RAnal *anal, RAnalState *state, ut6
}
static void r_anal_ex_perform_pre_anal_bb_cb(RAnal *anal, RAnalState *state, ut64 addr) {
if (anal->cur && anal->cur->pre_anal_bb_cb) {
if (anal && anal->cur && anal->cur->pre_anal_bb_cb) {
anal->cur->pre_anal_bb_cb (anal, state, addr);
}
}
@ -65,7 +65,7 @@ static void r_anal_ex_perform_post_anal_op_cb(RAnal *anal, RAnalState *state, ut
}
static void r_anal_ex_perform_post_anal_bb_cb(RAnal *anal, RAnalState *state, ut64 addr) {
if (anal->cur && anal->cur->post_anal_bb_cb) {
if (anal && anal->cur && anal->cur->post_anal_bb_cb) {
anal->cur->post_anal_bb_cb (anal, state, addr);
}
}
@ -132,7 +132,7 @@ R_API RAnalOp * r_anal_ex_get_op(RAnal *anal, RAnalState *state, ut64 addr) {
if (current_op) {
return current_op;
}
if (!anal->cur || (!anal->cur->op_from_buffer && !anal->cur->op)) {
if (!anal || !anal->cur || (!anal->cur->op_from_buffer && !anal->cur->op)) {
return NULL;
}
if (!r_anal_state_addr_is_valid(state, addr) ||

View File

@ -456,7 +456,6 @@ R_API char *r_bin_demangle_swift(const char *s, bool syscmd) {
}
if (p) {
q = p;
q = getnum (p, &len);
if (attr && !strcmp (attr, "generic")) {
is_generic = 1;

View File

@ -44,7 +44,6 @@ void parse_fpo_stream(void *stream, R_STREAM_FILE *stream_file)
fpo_stream = (SFPOStream *) stream;
fpo_stream->fpo_data_list = r_list_new();
curr_read_bytes = 0;
ptmp = data;
while (read_bytes < data_size) {
fpo_data = (SFPO_DATA *) malloc(sizeof(SFPO_DATA));
@ -110,7 +109,6 @@ void parse_fpo_new_stream(void *stream, R_STREAM_FILE *stream_file)
fpo_stream = (SFPONewStream *) stream;
fpo_stream->fpo_data_list = r_list_new ();
curr_read_bytes = 0;
ptmp = data;
while (read_bytes < data_size) {
fpo_data = (SFPO_DATA_V2 *) malloc (sizeof(SFPO_DATA_V2));

View File

@ -409,7 +409,7 @@ R_API char *r_cons_canvas_to_string(RConsCanvas *c) {
olen += c->blen[y] + 1;
}
o = calloc (1, olen * CONS_MAX_ATTR_SZ);
if (!o) {
if (!o || !olen) {
return NULL;
}

View File

@ -941,7 +941,6 @@ R_API char *r_cons_html_filter(const char *ptr, int *newlen) {
}
if (tag_font) {
r_strbuf_append (res, "</font>");
tag_font = false;
}
r_strbuf_append_n (res, str, ptr - str);
if (newlen) {

View File

@ -284,7 +284,6 @@ static int r_debug_bochs_wait(RDebug *dbg, int pid) {
r_cons_break_pop ();
}
//eprintf ("bochs_wait: loop done\n");
i = 0;
// Next at t=394241428
// (0) [0x000000337635] 0020:0000000000337635 (unk. ctxt): add eax, esi ; 03c6
ripStop = 0;

View File

@ -1357,7 +1357,6 @@ static int magiccheck(RMagic *ms, struct r_magic *m) {
case '>': matched = fv > fl; break;
case '<': matched = fv < fl; break;
default:
matched = 0;
file_magerror(ms, "cannot happen with float: invalid relation `%c'", m->reln);
return -1;
}
@ -1374,7 +1373,6 @@ static int magiccheck(RMagic *ms, struct r_magic *m) {
case '>': matched = dv > dl; break;
case '<': matched = dv < dl; break;
default:
matched = 0;
file_magerror (ms, "cannot happen with double: invalid relation `%c'", m->reln);
return -1;
}
@ -1539,7 +1537,6 @@ static int magiccheck(RMagic *ms, struct r_magic *m) {
}
break;
default:
matched = 0;
file_magerror (ms, "cannot happen: invalid relation `%c'", m->reln);
return -1;
}

View File

@ -927,7 +927,7 @@ R_API int r_bin_java_extract_reference_name(const char *input_str, char **ref_st
str_len += len;
*ref_str = malloc (str_len + 1);
new_str = *ref_str;
memcpy (new_str, input_str + 1, str_len);
memcpy (new_str, str_pos, str_len);
new_str[str_len] = 0;
while (*new_str) {
if (*new_str == '/') {
@ -1524,6 +1524,8 @@ R_API RBinJavaField *r_bin_java_read_next_field(RBinJavaObj *bin, const ut64 off
attr = r_bin_java_read_next_attr (bin, offset + adv, buffer, len);
if (!attr) {
eprintf ("[X] r_bin_java: Error unable to parse remainder of classfile after Field Attribute: %d.\n", i);
free (field->metas);
free (field);
return NULL;
}
if ((r_bin_java_get_attr_type_by_name (attr->name))->type == R_BIN_JAVA_ATTR_TYPE_CODE_ATTR) {
@ -5030,7 +5032,6 @@ R_API int r_bin_java_check_reset_cp_obj(RBinJavaCPTypeObj *cp_obj, ut8 tag) {
R_FREE (cp_obj->info.cp_utf8.bytes);
cp_obj->info.cp_utf8.length = 0;
R_FREE (cp_obj->name);
res = true;
}
cp_obj->tag = tag;
cp_obj->metas->type_info = (void *) &R_BIN_JAVA_CP_METAS[tag];
@ -7451,11 +7452,9 @@ R_API char *r_bin_java_resolve(RBinJavaObj *BIN_OBJ, int idx, ut8 space_bn_name_
}
return str;
}
cp_name = ((RBinJavaCPTypeMetas *) item->metas->type_info)->name;
if (strcmp (cp_name, "Class") == 0) {
item2 = (RBinJavaCPTypeObj *) r_bin_java_get_item_from_bin_cp_list (BIN_OBJ, idx);
// str = r_bin_java_get_name_from_bin_cp_list (BIN_OBJ, idx-1);
class_str = empty;
class_str = r_bin_java_get_item_name_from_bin_cp_list (BIN_OBJ, item);
if (!class_str) {
class_str = empty;
@ -8278,11 +8277,9 @@ R_API char *r_bin_java_resolve_b64_encode(RBinJavaObj *BIN_OBJ, ut16 idx) {
} else {
return NULL;
}
cp_name = ((RBinJavaCPTypeMetas *) item->metas->type_info)->name;
if (!strcmp (cp_name, "Class")) {
item2 = (RBinJavaCPTypeObj *) r_bin_java_get_item_from_bin_cp_list (BIN_OBJ, idx);
// str = r_bin_java_get_name_from_bin_cp_list (BIN_OBJ, idx-1);
class_str = empty;
class_str = r_bin_java_get_item_name_from_bin_cp_list (BIN_OBJ, item);
if (!class_str) {
class_str = empty;

View File

@ -281,8 +281,9 @@ z_size_t ZEXPORT gzfwrite(buf, size, nitems, file)
gz_statep state;
/* get internal structure */
if (file == NULL)
if (file == NULL || size < 1) {
return 0;
}
state = (gz_statep)file;
/* check that we're writing and that there's no error */