SF ticket #116 UpnpRemoveVirtualDir wrong linked list operation
What if pVirtualDirList has two nodes and what we want to delete is the
first one. Patch attached.
(cherry picked from commit 907c7c2621
)
This commit is contained in:
parent
97b6be674a
commit
a641a27cb6
@ -349,6 +349,13 @@ Version 1.8.0
|
||||
Version 1.6.19
|
||||
*******************************************************************************
|
||||
|
||||
2013-07-30 Zheng Peng <darkelf2010(at)users.sf.net>
|
||||
|
||||
SF ticket #116 UpnpRemoveVirtualDir wrong linked list operation
|
||||
|
||||
What if pVirtualDirList has two nodes and what we want to delete is the
|
||||
first one. Patch attached.
|
||||
|
||||
2013-07-30 Sebastian Brandt <s.brandt(at)aixtrusion.de>
|
||||
|
||||
Dear libupnp-devels,
|
||||
|
1
THANKS
1
THANKS
@ -69,4 +69,5 @@ exempt of errors.
|
||||
- Tom (tomdev2)
|
||||
- Yoichi Nakayama (yoichi)
|
||||
- zephyrus (zephyrus00jp)
|
||||
- Zheng Peng (darkelf2010)
|
||||
|
||||
|
@ -4187,16 +4187,17 @@ int UpnpRemoveVirtualDir(const char *dirName)
|
||||
return UPNP_E_INVALID_PARAM;
|
||||
}
|
||||
/* Handle the special case where the directory that we are */
|
||||
/* removing is the first and only one in the list. */
|
||||
if( ( pVirtualDirList->next == NULL ) &&
|
||||
( strcmp( pVirtualDirList->dirName, dirName ) == 0 ) ) {
|
||||
free( pVirtualDirList );
|
||||
pVirtualDirList = NULL;
|
||||
/* removing is the first in the list. */
|
||||
if (strcmp( pVirtualDirList->dirName, dirName ) == 0)
|
||||
{
|
||||
pPrev = pVirtualDirList;
|
||||
pVirtualDirList = pVirtualDirList->next;
|
||||
free( pPrev );
|
||||
return UPNP_E_SUCCESS;
|
||||
}
|
||||
|
||||
pCur = pVirtualDirList;
|
||||
pPrev = pCur;
|
||||
pCur = pVirtualDirList->next;
|
||||
pPrev = pVirtualDirList;
|
||||
|
||||
while( pCur != NULL ) {
|
||||
if( strcmp( pCur->dirName, dirName ) == 0 ) {
|
||||
|
Loading…
Reference in New Issue
Block a user