projects
/
kernel
/
swap-modules.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f24ea59
)
[FIX] destroy objects, when error parsing
author
Vyacheslav Cherkashin
<v.cherkashin@samsung.com>
Wed, 3 Jul 2013 12:36:06 +0000
(16:36 +0400)
committer
Vyacheslav Cherkashin
<v.cherkashin@samsung.com>
Wed, 3 Jul 2013 12:36:06 +0000
(16:36 +0400)
parser/msg_parser.c
patch
|
blob
|
history
diff --git
a/parser/msg_parser.c
b/parser/msg_parser.c
index
c32d8fe
..
5f2c628
100644
(file)
--- a/
parser/msg_parser.c
+++ b/
parser/msg_parser.c
@@
-198,7
+198,7
@@
struct lib_inst_data *create_lib_inst_data(struct msg_buf *mb)
struct lib_inst_data *li;
struct func_inst_data *fi;
char *path;
struct lib_inst_data *li;
struct func_inst_data *fi;
char *path;
- u32 cnt, i = 0;
+ u32 cnt,
j,
i = 0;
if (get_string(mb, &path))
return NULL;
if (get_string(mb, &path))
return NULL;
@@
-231,8
+231,8
@@
struct lib_inst_data *create_lib_inst_data(struct msg_buf *mb)
return li;
free_func:
return li;
free_func:
- for (
i -= 1; i >= 0; --i
)
- destroy_func_inst_data(li->func[
i
]);
+ for (
j = 0; j < i; ++j
)
+ destroy_func_inst_data(li->func[
j
]);
kfree(li->func);
free_li:
kfree(li->func);
free_li:
@@
-271,8
+271,7
@@
struct app_inst_data *create_app_inst_data(struct msg_buf *mb)
struct app_info_data *app_info;
struct func_inst_data *func;
struct lib_inst_data *lib;
struct app_info_data *app_info;
struct func_inst_data *func;
struct lib_inst_data *lib;
- u32 cnt_func, i_func = 0;
- u32 cnt_lib, i_lib = 0;
+ u32 cnt_func, i_func = 0, cnt_lib, i_lib = 0, i;
app_info = create_app_info(mb);
if (app_info == NULL)
app_info = create_app_info(mb);
if (app_info == NULL)
@@
-326,13
+325,13
@@
struct app_inst_data *create_app_inst_data(struct msg_buf *mb)
return app_inst;
free_lib:
return app_inst;
free_lib:
- for (i
_lib -= 1; i_lib >= 0; --i_lib
)
- destroy_lib_inst_data(app_inst->lib[i
_lib
]);
+ for (i
= 0; i < i_lib; ++i
)
+ destroy_lib_inst_data(app_inst->lib[i]);
kfree(app_inst->lib);
free_func:
kfree(app_inst->lib);
free_func:
- for (i
_func -= 1; i_func >= 0; --i_func
)
- destroy_func_inst_data(app_inst->func[i
_func
]);
+ for (i
= 0; i < i_func; ++i
)
+ destroy_func_inst_data(app_inst->func[i]);
kfree(app_inst->func);
free_app_inst:
kfree(app_inst->func);
free_app_inst:
@@
-372,7
+371,7
@@
struct us_inst_data *create_us_inst_data(struct msg_buf *mb)
{
struct us_inst_data *ui;
struct app_inst_data *ai;
{
struct us_inst_data *ui;
struct app_inst_data *ai;
- u32 cnt, i = 0;
+ u32 cnt,
j,
i = 0;
if (get_u32(mb, &cnt))
return NULL;
if (get_u32(mb, &cnt))
return NULL;
@@
-402,8
+401,8
@@
struct us_inst_data *create_us_inst_data(struct msg_buf *mb)
return ui;
free_app_inst:
return ui;
free_app_inst:
- for (
i -= 1; i >= 0; --i
)
- destroy_app_inst_data(ui->app_inst[
i
]);
+ for (
j = 0; j < i; ++j
)
+ destroy_app_inst_data(ui->app_inst[
j
]);
kfree(ui->app_inst);
free_ui:
kfree(ui->app_inst);
free_ui: