Show
Ignore:
Timestamp:
09/15/07 20:20:13 (1 year ago)
Author:
daboo
Message:

Fix some bad pointer arithmetic errors. This fixes crashes during drag and drop.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Mulberry/trunk/Linux/Sources/Application/Address_Book/CGroupTable.cp

    r31 r107  
    12181218                { 
    12191219                        // Copy to global after lock 
    1220                         CGroup** pGrp = reinterpret_cast<CGroup**>(data); 
    1221                         *((unsigned long*) pGrp) = grps.size(); 
    1222                         pGrp += sizeof(unsigned long); 
     1220                        unsigned char* ptr = data; 
     1221                        *((unsigned long*) ptr) = grps.size(); 
     1222                        ptr += sizeof(unsigned long); 
    12231223                        for(CGroupList::iterator iter = grps.begin(); iter != grps.end(); iter++) 
    1224                                 *pGrp++ = *iter; 
     1224                        { 
     1225                                *((CGroup**) ptr) = *iter; 
     1226                                ptr += sizeof(CGroup*); 
     1227                        } 
    12251228 
    12261229                        seldata->SetData(type, data, dataLength); 
     
    12461249                { 
    12471250                        // Copy to global after lock 
    1248                         CAddress** pAddr = reinterpret_cast<CAddress**>(data); 
    1249                         *((unsigned long*) pAddr) = addrs.size(); 
    1250                         pAddr += sizeof(unsigned long); 
     1251                        unsigned char* ptr = data; 
     1252                        *((unsigned long*) ptr) = addrs.size(); 
     1253                        ptr += sizeof(unsigned long); 
    12511254                        for(CAddressList::iterator iter = addrs.begin(); iter != addrs.end(); iter++) 
    1252                                 *pAddr++ = *iter; 
     1255                        { 
     1256                                *((CAddress**) ptr) = *iter; 
     1257                                ptr += sizeof(CAddress*); 
     1258                        } 
    12531259 
    12541260                        seldata->SetData(type, data, dataLength);