diff options
author | Benny Prijono <bennylp@teluu.com> | 2011-05-06 07:25:59 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2011-05-06 07:25:59 +0000 |
commit | 1a5889a3ca34568deea4fa3e6a373681dc842c29 (patch) | |
tree | fe5b3f16b76c72d7e41be830fad1edd3f082623c /pjmedia/src/pjmedia-audiodev | |
parent | b5e82b805395fbe7d9fd804f7cf4db4748cb13c8 (diff) |
Fixed #1251: Calling pjmedia_aud_subsys_shutdown() more than once may cause crash (thanks Bill Gardner for the patch)
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3559 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src/pjmedia-audiodev')
-rw-r--r-- | pjmedia/src/pjmedia-audiodev/audiodev.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/audiodev.c b/pjmedia/src/pjmedia-audiodev/audiodev.c index cb1ebbe2..6464f609 100644 --- a/pjmedia/src/pjmedia-audiodev/audiodev.c +++ b/pjmedia/src/pjmedia-audiodev/audiodev.c @@ -488,11 +488,13 @@ PJ_DEF(pj_status_t) pjmedia_aud_subsys_shutdown(void) } --aud_subsys.init_count; - for (i=0; i<aud_subsys.drv_cnt; ++i) { - deinit_driver(i); - } + if (aud_subsys.init_count == 0) { + for (i=0; i<aud_subsys.drv_cnt; ++i) { + deinit_driver(i); + } - aud_subsys.pf = NULL; + aud_subsys.pf = NULL; + } return PJ_SUCCESS; } |