Changeset 6135
- Timestamp:
- 04/08/08 02:42:55 (8 months ago)
- Location:
- trunk/licq/src
- Files:
-
- 5 modified
-
icqd-chat.cpp (modified) (4 diffs)
-
icqd-srv.cpp (modified) (3 diffs)
-
icqd-tcp.cpp (modified) (24 diffs)
-
icqd.cpp (modified) (8 diffs)
-
onevent.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/licq/src/icqd-chat.cpp
r5279 r6135 1292 1292 sizeFontName = u->chatQueue[1] | (u->chatQueue[2] << 8); 1293 1293 if (u->chatQueue.size() < (unsigned long)(sizeFontName + 2 + 3)) return true; 1294 char nameFont[sizeFontName + 1];1294 char* nameFont = new char[sizeFontName + 1]; 1295 1295 for (i = 0; i < sizeFontName; i++) 1296 1296 nameFont[i] = u->chatQueue[i + 3]; … … 1306 1306 1307 1307 PushChatEvent(new CChatEvent(CHAT_FONTxFAMILY, u)); 1308 delete [] nameFont; 1308 1309 break; 1309 1310 } … … 1605 1606 unsigned short sizeFontName, i; 1606 1607 sizeFontName = u->chatQueue[0] | (u->chatQueue[1] << 8); 1607 char nameFont[sizeFontName + 1];1608 char* nameFont = new char[sizeFontName + 1]; 1608 1609 for (i = 0; i < sizeFontName; i++) 1609 1610 nameFont[i] = u->chatQueue[i + 2]; … … 1617 1618 //the size includes the following character, so don't dequeue it 1618 1619 chatSize--; 1620 delete [] nameFont; 1619 1621 break; 1620 1622 } -
trunk/licq/src/icqd-srv.cpp
r6119 r6135 3035 3035 nMsgLen -= 4; 3036 3036 3037 char* szMessage = new char[nMsgLen+1];3037 char* szMessage = new char[nMsgLen+1]; 3038 3038 for (int i = 0; i < nMsgLen; i++) 3039 3039 szMessage[i] = msgTxt.UnpackChar(); … … 3842 3842 packet >> nAckFlags >> nMsgFlags >> nLen; 3843 3843 3844 char szMessage[nLen + 1];3844 char* szMessage = new char[nLen + 1]; 3845 3845 for (unsigned short i = 0; i < nLen; i++) 3846 3846 packet >> szMessage[i]; … … 3886 3886 } 3887 3887 gUserManager.DropUser(u); 3888 3888 3889 delete [] szMessage; 3890 3889 3891 ICQEvent *e = DoneServerEvent(nMsgID, EVENT_ACKED); 3890 3892 if (e) -
trunk/licq/src/icqd-tcp.cpp
r6119 r6135 343 343 gTranslator.ClientToServer(szDescDos); 344 344 int n = strlen_safe(url) + strlen_safe(szDescDos) + 2; 345 char m[n];345 char* m = new char[n]; 346 346 if (!online && n > MAX_MESSAGE_SIZE && szDescDos != NULL) 347 347 szDescDos[MAX_MESSAGE_SIZE - strlen_safe(url) - 2] = '\0'; … … 392 392 if (szDescDos) 393 393 delete [] szDescDos; 394 395 delete [] m; 394 396 395 397 if (result != NULL) … … 1929 1931 else 1930 1932 { 1931 1933 1932 1934 // read in the message minus any stupid DOS \r's 1933 char messageTmp[messageLen + 1];1935 char* messageTmp = new char[messageLen + 1]; 1934 1936 unsigned short j = 0; 1935 1937 for (unsigned short i = 0; i < messageLen; i++) … … 1941 1943 1942 1944 message = parseRTF(messageTmp); 1945 delete [] messageTmp; 1943 1946 1944 1947 if (nInVersion <= 4) … … 2318 2321 packet >> junkLong 2319 2322 >> nLenFilename; 2320 char szFilename[nLenFilename+1];2323 char* szFilename = new char[nLenFilename+1]; 2321 2324 for (unsigned short i = 0; i < nLenFilename; i++) 2322 2325 packet >> szFilename[i]; … … 2351 2354 filelist, theSequence, TIME_NOW, 2352 2355 nMask | licqVersion); 2356 delete [] szFilename; 2353 2357 // Add the user to our list if they are new 2354 2358 if (bNewUser) … … 2379 2383 packet >> nLongLen; // plugin name len 2380 2384 2381 char szPlugin[nLongLen+1];2385 char* szPlugin = new char[nLongLen+1]; 2382 2386 for (unsigned long i = 0; i < nLongLen; i++) 2383 2387 packet >> szPlugin[i]; … … 2400 2404 { 2401 2405 gLog.Info(tr("%sUnknown ICBM plugin type: %s\n"), L_TCPxSTR, szPlugin); 2402 break; 2403 } 2404 2405 char szMessage[nLongLen+1]; 2406 delete [] szPlugin; 2407 break; 2408 } 2409 2410 char* szMessage = new char[nLongLen+1]; 2406 2411 for (unsigned long i = 0; i < nLongLen; i++) 2407 2412 packet >> szMessage[i]; … … 2416 2421 packet.incDataPosRead(2); // unknown 2417 2422 packet >> nLen; // filename len, including NULL 2418 char szFilename[nLen+1];2423 char* szFilename = new char[nLen+1]; 2419 2424 for (unsigned short i = 0; i < nLen; i++) 2420 2425 packet >> szFilename[i]; … … 2432 2437 gTranslator.ServerToClient(szMessage); 2433 2438 CEventFile *e = new CEventFile(szFilename, szMessage, nFileSize, 2434 filelist, theSequence, TIME_NOW, nMask); 2439 filelist, theSequence, TIME_NOW, nMask); 2440 delete [] szFilename; 2441 2435 2442 if (bNewUser) 2436 2443 { … … 2544 2551 } // switch nICBMCommand 2545 2552 2546 break; 2547 } 2553 delete [] szPlugin; 2554 delete [] szMessage; 2555 2556 break; 2557 } 2548 2558 2549 2559 // Old-style encryption request: … … 2770 2780 packet >> nLongLen; // Plugin name len 2771 2781 2772 char szPlugin[nLongLen+1];2782 char* szPlugin = new char[nLongLen+1]; 2773 2783 for (unsigned long i = 0; i < nLongLen; i++) 2774 2784 packet >> szPlugin[i]; … … 2792 2802 szPlugin); 2793 2803 gUserManager.DropUser(u); 2794 return true; 2795 } 2796 2797 packet >> nLongLen; 2798 char szMessage[nLongLen+1]; 2804 delete [] szPlugin; 2805 return true; 2806 } 2807 2808 packet >> nLongLen; 2809 char* szMessage = new char[nLongLen+1]; 2799 2810 for (unsigned short i = 0; i < nLongLen; i++) 2800 2811 packet >> szMessage[i]; … … 2841 2852 } // switch nICBMCommand 2842 2853 2843 break; 2844 } 2854 delete [] szPlugin; 2855 delete [] szMessage; 2856 2857 break; 2858 } 2845 2859 2846 2860 #ifdef USE_OPENSSL … … 3334 3348 packet.incDataPosRead(4); //Unknown 3335 3349 unsigned long nLen = packet.UnpackUnsignedLong(); 3336 char szName[nLen+1];3350 char* szName = new char[nLen+1]; 3337 3351 for (unsigned long i = 0; i < nLen; i++) 3338 3352 packet >> szName[i]; … … 3340 3354 3341 3355 nLen = packet.UnpackUnsignedLong(); 3342 char szFullName[nLen+1];3356 char* szFullName = new char[nLen+1]; 3343 3357 for (unsigned long i = 0; i < nLen; i++) 3344 3358 packet >> szFullName[i]; … … 3349 3363 gLog.Info("%s%s has %s (%s).\n", szInfo, u->GetAlias(), szName, 3350 3364 szFullName); 3365 delete [] szName; 3366 delete [] szFullName; 3351 3367 } 3352 3368 break; … … 3356 3372 { 3357 3373 gLog.Info("%sPhone Book reply from %s.\n", szInfo, u->GetAlias()); 3358 struct PhoneBookEntry pb[nEntries];3374 PhoneBookEntry *pb = new PhoneBookEntry[nEntries]; 3359 3375 for (unsigned long i = 0; i < nEntries; i ++) 3360 3376 { … … 3429 3445 u->SetEnableSave(true); 3430 3446 u->SavePhoneBookInfo(); 3447 delete [] pb; 3431 3448 3432 3449 PushPluginSignal(new CICQSignal(SIGNAL_UPDATExUSER, USER_PHONExBOOK, … … 3455 3472 3456 3473 unsigned long nLen = packet.UnpackUnsignedLong(); 3457 char data[nLen];3474 char* data = new char[nLen]; 3458 3475 for (unsigned long i = 0; i < nLen; i++) 3459 3476 { … … 3462 3479 3463 3480 write(nFD, data, nLen); 3481 delete [] data; 3464 3482 3465 3483 u->SetEnableSave(false); … … 3661 3679 packet.incDataPosRead(4); //Unknown 3662 3680 unsigned long nLen = packet.UnpackUnsignedLong(); 3663 char szName[nLen+1];3681 char* szName = new char[nLen+1]; 3664 3682 for (unsigned long i = 0; i < nLen; i++) 3665 3683 packet >> szName[i]; … … 3667 3685 3668 3686 nLen = packet.UnpackUnsignedLong(); 3669 char szFullName[nLen+1];3687 char* szFullName = new char[nLen+1]; 3670 3688 for (unsigned long i = 0; i < nLen; i++) 3671 3689 packet >> szFullName[i]; … … 3676 3694 gLog.Info("%s%s has %s (%s).\n", szInfo, u->GetAlias(), szName, 3677 3695 szFullName); 3696 delete [] szName; 3697 delete [] szFullName; 3678 3698 } 3679 3699 } -
trunk/licq/src/icqd.cpp
r6119 r6135 1043 1043 1044 1044 size_t nLen = strlen(BASE_DIR) + sizeof(file) + sizeof(suffix) + 2; 1045 char szTmpName[nLen], szFilename[nLen], buff[128]; 1045 char* szTmpName = new char[nLen]; 1046 char* szFilename = new char[nLen]; 1047 char buff[128]; 1046 1048 int nRet, n, fd; 1047 1049 … … 1059 1061 gLog.Error("%sFailed updating %s: `%s'\n", L_ERRORxSTR, 1060 1062 szFilename, strerror(errno)); 1063 delete [] szTmpName; 1064 delete [] szFilename; 1061 1065 return; 1062 1066 } … … 1106 1110 gLog.Error("%sFailed updating %s: `%s'\n", L_ERRORxSTR, 1107 1111 szFilename, strerror(errno)); 1112 1113 delete [] szTmpName; 1114 delete [] szFilename; 1108 1115 } 1109 1116 … … 2506 2513 if (!bIsAck) 2507 2514 { 2508 char szFilename[nFilenameLen+1];2515 char* szFilename = new char[nFilenameLen+1]; 2509 2516 for (unsigned short i = 0; i < nFilenameLen; i++) 2510 2517 packet >> szFilename[i]; … … 2519 2526 nEventType = ON_EVENT_FILE; 2520 2527 pEvent = e; 2528 2529 delete [] szFilename; 2521 2530 } 2522 2531 else … … 2614 2623 packet.incDataPosRead(18); 2615 2624 packet >> nLongLen; // plugin len 2616 char szPlugin[nLongLen+1];2625 char* szPlugin = new char[nLongLen+1]; 2617 2626 for (unsigned long i = 0; i < nLongLen; i++) 2618 2627 packet >> szPlugin[i]; … … 2640 2649 2641 2650 packet >> nLongLen; 2642 char szMessage[nLongLen+1];2651 char* szMessage = new char[nLongLen+1]; 2643 2652 for (unsigned long i = 0; i < nLongLen; i++) 2644 2653 packet >> szMessage[i]; … … 2653 2662 ProcessMessage(u, packet, msg, nCommand, nMask, nMsgID, 2654 2663 nSequence, bIsAck, bNewUser); 2655 return; 2656 2657 break; // bah! 2658 } 2664 delete [] szPlugin; 2665 delete [] szMessage; 2666 return; 2667 2668 break; // bah! 2669 } 2659 2670 2660 2671 default: -
trunk/licq/src/onevent.cpp
r4903 r6135 107 107 if (strlen(szFullParam)) 108 108 { 109 char szCmd[strlen(m_szCommand) + strlen(szFullParam) + 8];109 char* szCmd = new char[strlen(m_szCommand) + strlen(szFullParam) + 8]; 110 110 sprintf(szCmd, "%s %s &", m_szCommand, szFullParam); 111 111 system(szCmd); 112 delete [] szCmd; 112 113 } 113 114
