dtappbuilder: Further coverity, resource leaks, copy intofixed size buffer and dereference before null checl
This commit is contained in:
@@ -1085,12 +1085,13 @@ format_dir_name_for_user(
|
||||
)
|
||||
{
|
||||
STRING home= getenv(home_env_var_name);
|
||||
int home_name_len= strlen(home);
|
||||
int home_name_len = 0;
|
||||
int i= 0;
|
||||
|
||||
if (home != NULL)
|
||||
{
|
||||
char home_relative[MAXPATHLEN];
|
||||
home_name_len = strlen(home);
|
||||
*home_relative = 0;
|
||||
|
||||
util_cvt_path_to_relative(ugly_dir, home, home_relative, MAXPATHLEN);
|
||||
|
||||
@@ -811,6 +811,7 @@ abobj_update_proj_name(
|
||||
catgets(Dtb_project_catd, 10, 1, "Project Organizer"));
|
||||
strcat(new_title, " - ");
|
||||
strcat(new_title, proj_win_title);
|
||||
util_free(proj_win_title);
|
||||
|
||||
XtVaSetValues(XtParent(AB_proj_window), XmNtitle, new_title, NULL);
|
||||
|
||||
@@ -873,6 +874,7 @@ abobj_update_palette_title(
|
||||
catgets(Dtb_project_catd, 10, 5, "Application Builder"));
|
||||
strcat(new_title, " - ");
|
||||
strcat(new_title, proj_win_title);
|
||||
util_free(proj_win_title);
|
||||
|
||||
if (SaveNeeded)
|
||||
{
|
||||
|
||||
@@ -705,8 +705,10 @@ browser_rband(
|
||||
/*
|
||||
* Return if no selected nodes
|
||||
*/
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
util_free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
new_sel.list = (ABObj *)util_malloc(num_selected * sizeof(ABObj));
|
||||
new_sel.count = 0;
|
||||
|
||||
@@ -1420,8 +1420,10 @@ brwsP_collapse_selected(
|
||||
/*
|
||||
* Return if no selected nodes
|
||||
*/
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
util_free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i=0; i < num_selected; ++i)
|
||||
{
|
||||
@@ -1480,8 +1482,10 @@ brwsP_expand_selected(
|
||||
/*
|
||||
* Return if no selected nodes
|
||||
*/
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
util_free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i=0; i < num_selected; ++i)
|
||||
{
|
||||
@@ -1540,8 +1544,10 @@ brwsP_expand_collapsed(
|
||||
/*
|
||||
* Return if no collapsed nodes
|
||||
*/
|
||||
if (num_collapsed == 0)
|
||||
if (num_collapsed == 0) {
|
||||
free(collapsed_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i=0; i < num_collapsed; ++i)
|
||||
{
|
||||
|
||||
@@ -2711,12 +2711,14 @@ destroy_links_to_file(STRING fileName)
|
||||
strlist_add_str(doomedFiles, fileName, NULL);
|
||||
if (stat(fileName, &doomedFileInfo) != 0)
|
||||
{
|
||||
util_free(doomedFiles);
|
||||
return ERR_OPEN;
|
||||
}
|
||||
|
||||
dir = opendir(".");
|
||||
if (dir == NULL)
|
||||
{
|
||||
util_free(doomedFiles);
|
||||
return ERR_INTERNAL;
|
||||
}
|
||||
|
||||
|
||||
@@ -1523,8 +1523,10 @@ project_rband(
|
||||
/*
|
||||
* Return if no selected nodes
|
||||
*/
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* For each object enclosed in rubber band rectangle
|
||||
|
||||
@@ -218,8 +218,10 @@ projP_save_mod_proc(
|
||||
vwr_get_cond(v->current_tree, &selected_nodes,
|
||||
&num_selected, select_fn);
|
||||
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
obj = (AB_OBJ *)selected_nodes[0]->obj_data;
|
||||
|
||||
@@ -292,8 +294,7 @@ projP_save_mod_proc(
|
||||
/*
|
||||
* Free up node list if it contained anything
|
||||
*/
|
||||
if (selected_nodes)
|
||||
free((char *)selected_nodes);
|
||||
free(selected_nodes);
|
||||
|
||||
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
|
||||
|
||||
@@ -331,15 +332,16 @@ projP_save_as_mod_proc(
|
||||
*/
|
||||
vwr_get_cond(v->current_tree, &selected_nodes,
|
||||
&num_selected, select_fn);
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
obj = (AB_OBJ *)selected_nodes[0]->obj_data;
|
||||
|
||||
projP_show_save_as_bil_chooser(AB_toplevel, obj);
|
||||
|
||||
if (selected_nodes)
|
||||
free((char *)selected_nodes);
|
||||
free((char *)selected_nodes);
|
||||
|
||||
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
|
||||
|
||||
@@ -517,8 +519,10 @@ projP_browse_proc(
|
||||
vwr_get_cond(v->current_tree, &selected_nodes,
|
||||
&num_selected, select_fn);
|
||||
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < num_selected; ++i)
|
||||
{
|
||||
@@ -777,12 +781,16 @@ projP_export_mod_proc(
|
||||
vwr_get_cond(v->current_tree, &selected_nodes,
|
||||
&num_selected, select_fn);
|
||||
|
||||
if (num_selected == 0)
|
||||
if (num_selected == 0) {
|
||||
free(selected_nodes);
|
||||
return;
|
||||
}
|
||||
|
||||
obj = (AB_OBJ *)selected_nodes[0]->obj_data;
|
||||
proj_show_export_bil_chooser(AB_proj_window, obj);
|
||||
|
||||
free(selected_nodes);
|
||||
|
||||
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
|
||||
}
|
||||
|
||||
|
||||
@@ -1695,9 +1695,9 @@ proj_save_exploded(
|
||||
{
|
||||
util_print_error(rc, new_filename);
|
||||
obj_set_name(project, old_name);
|
||||
if (old_name != NULL) util_free(old_name);
|
||||
if (old_file != NULL) util_free(old_file);
|
||||
if (old_proj_dir != NULL) util_free(old_proj_dir);
|
||||
util_free(old_name);
|
||||
util_free(old_file);
|
||||
util_free(old_proj_dir);
|
||||
return rc;
|
||||
}
|
||||
obj_set_file(project, new_filename);
|
||||
@@ -2391,6 +2391,7 @@ proj_set_menus(
|
||||
*/
|
||||
vwr_get_cond(proj_vwr->current_tree, &selected_nodes,
|
||||
&num_selected, select_fn);
|
||||
free(selected_nodes); /* Unused variable */
|
||||
|
||||
switch (chooser_type)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user