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 907c7c2621f8b2323b6bd8227ec082ce41c0a292)
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…
x
Reference in New Issue
Block a user