Commit 44ef3a03 authored by Wenwen Wang's avatar Wenwen Wang Committed by David S. Miller

wimax/i2400m: fix a memory leak bug

In i2400m_barker_db_init(), 'options_orig' is allocated through kstrdup()
to hold the original command line options. Then, the options are parsed.
However, if an error occurs during the parsing process, 'options_orig' is
not deallocated, leading to a memory leak bug. To fix this issue, free
'options_orig' before returning the error.
Signed-off-by: default avatarWenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 34343410
...@@ -351,13 +351,15 @@ int i2400m_barker_db_init(const char *_options) ...@@ -351,13 +351,15 @@ int i2400m_barker_db_init(const char *_options)
} }
result = i2400m_barker_db_add(barker); result = i2400m_barker_db_add(barker);
if (result < 0) if (result < 0)
goto error_add; goto error_parse_add;
} }
kfree(options_orig); kfree(options_orig);
} }
return 0; return 0;
error_parse_add:
error_parse: error_parse:
kfree(options_orig);
error_add: error_add:
kfree(i2400m_barker_db); kfree(i2400m_barker_db);
return result; return result;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment