Index: base/applications/network/ping/lang/bg-BG.rc =================================================================== --- base/applications/network/ping/lang/bg-BG.rc (revision 69520) +++ base/applications/network/ping/lang/bg-BG.rc (working copy) @@ -31,6 +31,7 @@ IDS_BAD_OPTION_FORMAT "Неправилно записване на възможността %1.\n\0" IDS_BAD_OPTION "Неправилна стойност %1.\n\0" IDS_BAD_VALUE_OPTION_L "Неправилна стойност за -l, допустимите са от 0 до %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Неправилна стойност за -n, допустимите са от 1 до %1!u!.\n\0" IDS_REPLY_FROM "Отговор от %1: байта=%2!d! време%3%4 ВЖ(TTL)=%5!d!\n\0" IDS_DEST_UNREACHABLE "Целевия приемник е недостижим.\n\0" IDS_COULD_NOT_TRANSMIT "Грешка при предаване на данните (%1!d!).\n\0" Index: base/applications/network/ping/lang/cs-CZ.rc =================================================================== --- base/applications/network/ping/lang/cs-CZ.rc (revision 69520) +++ base/applications/network/ping/lang/cs-CZ.rc (working copy) @@ -30,6 +30,7 @@ IDS_BAD_OPTION_FORMAT "Nesprávný formát volby %1.\n\0" IDS_BAD_OPTION "Nesprávná volba %1.\n\0" IDS_BAD_VALUE_OPTION_L "Nesprávná hodnota volby -l, platný rozsah je od 0 do %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Nesprávná hodnota volby -n, platný rozsah je od 1 do %1!u!.\n\0" IDS_REPLY_FROM "Odpověď od %1: bajtů=%2!d! čas%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Cíl je nedostupný.\n\0" IDS_COULD_NOT_TRANSMIT "Nebylo možné přenést data (%1!d!).\n\0" Index: base/applications/network/ping/lang/de-DE.rc =================================================================== --- base/applications/network/ping/lang/de-DE.rc (revision 69520) +++ base/applications/network/ping/lang/de-DE.rc (working copy) @@ -25,6 +25,7 @@ IDS_BAD_OPTION_FORMAT "Ungültiges Format %1.\n\0" IDS_BAD_OPTION "Ungültige Option %1.\n\0" IDS_BAD_VALUE_OPTION_L "Ungültiger Wert für Option -l, Erlaubter Bereich ist von 0 bis %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Ungültiger Wert für Option -n, Erlaubter Bereich ist von 1 bis %1!u!.\n\0" IDS_REPLY_FROM "Antwort von %1: bytes=%2!d! time%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Zielhost nicht erreichbar.\n\0" IDS_COULD_NOT_TRANSMIT "Es konnten keine Daten gesendet werden (%1!d!).\n\0" Index: base/applications/network/ping/lang/en-US.rc =================================================================== --- base/applications/network/ping/lang/en-US.rc (revision 69520) +++ base/applications/network/ping/lang/en-US.rc (working copy) @@ -25,6 +25,7 @@ IDS_BAD_OPTION_FORMAT "Bad option format %1.\n\0" IDS_BAD_OPTION "Bad option %1.\n\0" IDS_BAD_VALUE_OPTION_L "Bad value for option -l, valid range is from 0 to %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Bad value for option -n, valid range is from 1 to %1!u!.\n\0" IDS_REPLY_FROM "Reply from %1: bytes=%2!d! time%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Destination host unreachable.\n\0" IDS_COULD_NOT_TRANSMIT "Could not transmit data (%1!d!).\n\0" Index: base/applications/network/ping/lang/es-ES.rc =================================================================== --- base/applications/network/ping/lang/es-ES.rc (revision 69520) +++ base/applications/network/ping/lang/es-ES.rc (working copy) @@ -28,6 +28,7 @@ IDS_BAD_OPTION_FORMAT "El formato de opción %1 no es válido.\n\0" IDS_BAD_OPTION "La opción %1 no es válida.\n\0" IDS_BAD_VALUE_OPTION_L "El valor para la opción -l no es válido, debe de estar entre 0 y %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "El valor para la opción -n no es válido, debe de estar entre 1 y %1!u!.\n\0" IDS_REPLY_FROM "Respuesta desde %1: bytes=%2!d! tiempo%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Host de destino inaccesible.\n\0" IDS_COULD_NOT_TRANSMIT "No se ha podido transmitir ningún dato (%1!d!).\n\0" Index: base/applications/network/ping/lang/fr-FR.rc =================================================================== --- base/applications/network/ping/lang/fr-FR.rc (revision 69520) +++ base/applications/network/ping/lang/fr-FR.rc (working copy) @@ -25,6 +25,7 @@ IDS_BAD_OPTION_FORMAT "Format d'option incorrect %1.\n\0" IDS_BAD_OPTION "Option incorrecte %1.\n\0" IDS_BAD_VALUE_OPTION_L "Valeur incorrecte pour l'option -l, elle doit être entre 0 et %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Valeur incorrecte pour l'option -n, elle doit être entre 1 et %1!u!.\n\0" IDS_REPLY_FROM "Réponse de %1 : octets=%2!d! durée%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Hôte de destination injoignable.\n\0" IDS_COULD_NOT_TRANSMIT "Échec lors de la transmission (%1!d!).\n\0" Index: base/applications/network/ping/lang/it-IT.rc =================================================================== --- base/applications/network/ping/lang/it-IT.rc (revision 69520) +++ base/applications/network/ping/lang/it-IT.rc (working copy) @@ -25,6 +25,7 @@ IDS_BAD_OPTION_FORMAT "Formato opzione errato %1.\n\0" IDS_BAD_OPTION "Opzione errata %1.\n\0" IDS_BAD_VALUE_OPTION_L "Valore errato per il parametro -l, è valido un valore tra 0 to %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Valore errato per il parametro -n, è valido un valore tra 1 to %1!u!.\n\0" IDS_REPLY_FROM "Risposta da %1: bytes=%2!d! time%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Host destinazione irraggiungibile.\n\0" IDS_COULD_NOT_TRANSMIT "Impossibile trasmettere dati (%1!d!).\n\0" Index: base/applications/network/ping/lang/pl-PL.rc =================================================================== --- base/applications/network/ping/lang/pl-PL.rc (revision 69520) +++ base/applications/network/ping/lang/pl-PL.rc (working copy) @@ -33,6 +33,7 @@ IDS_BAD_OPTION_FORMAT "Nieprawidłowy format opcji %1.\n\0" IDS_BAD_OPTION "Nieprawidłowa opcja %1.\n\0" IDS_BAD_VALUE_OPTION_L "Nieprawidłowa wartość dla opcji -l, wymagana liczba naturalna od 0 do %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Nieprawidłowa wartość dla opcji -n, wymagana liczba naturalna od 1 do %1!u!.\n\0" IDS_REPLY_FROM "Odpowiedź z %1: bajtów=%2!d! czas%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Host docelowy nieosiągalny.\n\0" IDS_COULD_NOT_TRANSMIT "Błąd podczas transmisji danych (%1!d!).\n\0" Index: base/applications/network/ping/lang/ro-RO.rc =================================================================== --- base/applications/network/ping/lang/ro-RO.rc (revision 69520) +++ base/applications/network/ping/lang/ro-RO.rc (working copy) @@ -34,6 +34,7 @@ IDS_BAD_OPTION_FORMAT "Opțiune cu format eronat: %1.\n\0" IDS_BAD_OPTION "%1 este o opțiune eronată.\n\0" IDS_BAD_VALUE_OPTION_L "Valoare eronată pentru opțiunea -l, domeniul valid este 0 - %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Valoare eronată pentru opțiunea -n, domeniul valid este 1 - %1!u!.\n\0" IDS_REPLY_FROM "Răspuns de la %1: octeți=%2!d! timp%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Gazda destinație este inaccesibilă.\n\0" IDS_COULD_NOT_TRANSMIT "Nu s-a reușit transmiterea datelor (%1!d!).\n\0" Index: base/applications/network/ping/lang/ru-RU.rc =================================================================== --- base/applications/network/ping/lang/ru-RU.rc (revision 69520) +++ base/applications/network/ping/lang/ru-RU.rc (working copy) @@ -25,6 +25,7 @@ IDS_BAD_OPTION_FORMAT "Bad option format %1.\n\0" IDS_BAD_OPTION "Bad option %1.\n\0" IDS_BAD_VALUE_OPTION_L "Недопустимое значение параметра -l, допустимый диапазон с 0 по %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Недопустимое значение параметра -n, допустимый диапазон с 1 по %1!u!.\n\0" IDS_REPLY_FROM "Ответ от %1: число байт=%2!d! время%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Destination host unreachable.\n\0" IDS_COULD_NOT_TRANSMIT "Could not transmit data (%1!d!).\n\0" Index: base/applications/network/ping/lang/sq-AL.rc =================================================================== --- base/applications/network/ping/lang/sq-AL.rc (revision 69520) +++ base/applications/network/ping/lang/sq-AL.rc (working copy) @@ -29,6 +29,7 @@ IDS_BAD_OPTION_FORMAT "Opsion formati i keq %1.\n\0" IDS_BAD_OPTION "Opsion i keq %1.\n\0" IDS_BAD_VALUE_OPTION_L "Vlere e keqe per opsion -l, varh i vlefshem nga 0 në %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Vlere e keqe per opsion -n, varh i vlefshem nga 1 në %1!u!.\n\0" IDS_REPLY_FROM "Pergjigju nga %1: bytes=%2!d! time%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Destinacioni i hostit i pakapshem.\n\0" IDS_COULD_NOT_TRANSMIT "Nuk transmetoj dot data (%1!d!).\n\0" Index: base/applications/network/ping/lang/sv-SE.rc =================================================================== --- base/applications/network/ping/lang/sv-SE.rc (revision 69520) +++ base/applications/network/ping/lang/sv-SE.rc (working copy) @@ -32,6 +32,7 @@ IDS_BAD_OPTION_FORMAT "Ogiltigt format på alternativ %1.\n\0" IDS_BAD_OPTION "Ogiltigt alternativ %1.\n\0" IDS_BAD_VALUE_OPTION_L "Ogiltigt värde för alternativ -l, giltig intervall är från 0 till %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Ogiltigt värde för alternativ -n, giltig intervall är från 1 till %1!u!.\n\0" IDS_REPLY_FROM "Svar från %1: bytes=%2!d! tid%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Värddatorn går inte att nå.\n\0" IDS_COULD_NOT_TRANSMIT "Kunde inte sända data (%1!d!).\n\0" Index: base/applications/network/ping/lang/tr-TR.rc =================================================================== --- base/applications/network/ping/lang/tr-TR.rc (revision 69520) +++ base/applications/network/ping/lang/tr-TR.rc (working copy) @@ -27,6 +27,7 @@ IDS_BAD_OPTION_FORMAT "Geçersiz seçenek biçimi: %1.\n\0" IDS_BAD_OPTION "Geçersiz seçenek: %1.\n\0" IDS_BAD_VALUE_OPTION_L "-l seçeneği için değer geçersiz, geçerli aralık 0'dan %1!d! sayısına dektir.\n\0" + IDS_BAD_VALUE_OPTION_N "-n seçeneği için değer geçersiz, geçerli aralık 1'dan %1!u! sayısına dektir.\n\0" IDS_REPLY_FROM "%1 varışından yanıt: çoklu=%2!d! süre=%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Varış anabilgisayarı erişilemez.\n\0" IDS_COULD_NOT_TRANSMIT "Veri gönderilemedi (%1!d!).\n\0" Index: base/applications/network/ping/lang/uk-UA.rc =================================================================== --- base/applications/network/ping/lang/uk-UA.rc (revision 69520) +++ base/applications/network/ping/lang/uk-UA.rc (working copy) @@ -33,6 +33,7 @@ IDS_BAD_OPTION_FORMAT "Невірний формат опції %1.\n\0" IDS_BAD_OPTION "Погана опція %1.\n\0" IDS_BAD_VALUE_OPTION_L "Неправильне значення для опції -l, допустимий діапазон від 0 до %1!d!.\n\0" + IDS_BAD_VALUE_OPTION_N "Неправильне значення для опції -n, допустимий діапазон від 1 до %1!u!.\n\0" IDS_REPLY_FROM "Відповідь від %1: байтів=%2!d! час%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "Хост недоступний.\n\0" IDS_COULD_NOT_TRANSMIT "Не вдалося передати дані (%1!d!).\n\0" Index: base/applications/network/ping/lang/zh-CN.rc =================================================================== --- base/applications/network/ping/lang/zh-CN.rc (revision 69520) +++ base/applications/network/ping/lang/zh-CN.rc (working copy) @@ -27,6 +27,7 @@ IDS_BAD_OPTION_FORMAT "错误选项格式 %1。\n\0" IDS_BAD_OPTION "错误选项 %1。\n\0" IDS_BAD_VALUE_OPTION_L "-l 选项的值无效,有效的范围是从 0 到 %1!d!。\n\0" + IDS_BAD_VALUE_OPTION_N "-n 选项的值无效,有效的范围是从 1 到 %1!u!。\n\0" IDS_REPLY_FROM "来自 %1 的回复:字节数=%2!d! 时间%3%4 TTL=%5!d!\n\0" IDS_DEST_UNREACHABLE "目标主机不可到达。\n\0" IDS_COULD_NOT_TRANSMIT "无法发送数据 (%1!d!)。\n\0" Index: base/applications/network/ping/ping.c =================================================================== --- base/applications/network/ping/ping.c (revision 69520) +++ base/applications/network/ping/ping.c (working copy) @@ -249,7 +249,17 @@ case L'a': ResolveAddresses = TRUE; break; case L'n': if (i + 1 < argc) - PingCount = wcstoul(argv[++i], NULL, 0); + { + ULONG count = wcstoul(argv[++i], NULL, 0); + + if (count < 1 || count > UINT_MAX) + { + FormatOutput(IDS_BAD_VALUE_OPTION_N, UINT_MAX); + return FALSE; + } + + PingCount = count; + } else InvalidOption = TRUE; break; Index: base/applications/network/ping/resource.h =================================================================== --- base/applications/network/ping/resource.h (revision 69520) +++ base/applications/network/ping/resource.h (working copy) @@ -23,3 +23,4 @@ #define IDS_REQUEST_TIMEOUT 20 #define IDS_MS 21 #define IDS_1MS 22 +#define IDS_BAD_VALUE_OPTION_N 23