projects
/
lcr.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e9dd99a
)
Fixed NULL-pointer bug when unloading of GSM interfaces
origin/1.11
author
Andreas Eversberg
<jolly@eversberg.eu>
Sat, 7 Jan 2012 08:34:51 +0000
(09:34 +0100)
committer
Andreas Eversberg
<jolly@eversberg.eu>
Sat, 7 Jan 2012 08:34:51 +0000
(09:34 +0100)
interface.c
patch
|
blob
|
history
diff --git
a/interface.c
b/interface.c
index
57d7fe8
..
ee753a9
100644
(file)
--- a/
interface.c
+++ b/
interface.c
@@
-1489,6
+1489,17
@@
void relink_interfaces(void)
/* unlink all mISDNports */
mISDNport = mISDNport_first;
while(mISDNport) {
/* unlink all mISDNports */
mISDNport = mISDNport_first;
while(mISDNport) {
+ if (mISDNport->ifport) {
+ ifport = mISDNport->ifport;
+#ifdef WITH_GSM_MS
+ if (ifport->gsm_ms)
+ gsm_ms_delete(ifport->gsm_ms_name);
+#endif
+#ifdef WITH_GSM_BS
+ if (ifport->gsm_bs)
+ gsm_bs_exit(0);
+#endif
+ }
mISDNport->ifport = NULL;
mISDNport = mISDNport->next;
}
mISDNport->ifport = NULL;
mISDNport = mISDNport->next;
}
@@
-1521,15
+1532,7
@@
void relink_interfaces(void)
while(mISDNport) {
if (mISDNport->ifport == NULL) {
PDEBUG(DEBUG_ISDN, "Port %d is not used anymore and will be closed\n", mISDNport->portnum);
while(mISDNport) {
if (mISDNport->ifport == NULL) {
PDEBUG(DEBUG_ISDN, "Port %d is not used anymore and will be closed\n", mISDNport->portnum);
- /* remove all port objects and destroy port */
-#ifdef WITH_GSM_MS
- if (ifport->gsm_ms)
- gsm_ms_delete(ifport->gsm_ms_name);
-#endif
-#ifdef WITH_GSM_BS
- if (ifport->gsm_bs)
- gsm_bs_exit(0);
-#endif
+ /* destroy port */
mISDNport_close(mISDNport);
goto closeagain;
}
mISDNport_close(mISDNport);
goto closeagain;
}