[PING]
authorThomas Faber <thomas.faber@reactos.org>
Wed, 14 Oct 2015 07:24:09 +0000 (07:24 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Wed, 14 Oct 2015 07:24:09 +0000 (07:24 +0000)
- Check for invalid values passed to the -n option. Patch by Tim Crawford
CORE-10332 #resolve

svn path=/trunk/; revision=69521

17 files changed:
reactos/base/applications/network/ping/lang/bg-BG.rc
reactos/base/applications/network/ping/lang/cs-CZ.rc
reactos/base/applications/network/ping/lang/de-DE.rc
reactos/base/applications/network/ping/lang/en-US.rc
reactos/base/applications/network/ping/lang/es-ES.rc
reactos/base/applications/network/ping/lang/fr-FR.rc
reactos/base/applications/network/ping/lang/it-IT.rc
reactos/base/applications/network/ping/lang/pl-PL.rc
reactos/base/applications/network/ping/lang/ro-RO.rc
reactos/base/applications/network/ping/lang/ru-RU.rc
reactos/base/applications/network/ping/lang/sq-AL.rc
reactos/base/applications/network/ping/lang/sv-SE.rc
reactos/base/applications/network/ping/lang/tr-TR.rc
reactos/base/applications/network/ping/lang/uk-UA.rc
reactos/base/applications/network/ping/lang/zh-CN.rc
reactos/base/applications/network/ping/ping.c
reactos/base/applications/network/ping/resource.h

index 3bb3f72..fdc9695 100644 (file)
@@ -31,6 +31,7 @@ BEGIN
     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 41df49b..62106d5 100644 (file)
@@ -30,6 +30,7 @@ Options:\n\
     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 e85ff21..b3e325e 100644 (file)
@@ -25,6 +25,7 @@ Optionen:\n\
     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 5013a87..867100f 100644 (file)
@@ -25,6 +25,7 @@ Options:\n\
     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 bfbf6cc..1839150 100644 (file)
@@ -28,6 +28,7 @@ Opciones:\n\
     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 defdf97..8bb866a 100644 (file)
@@ -25,6 +25,7 @@ Options :\n\
     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 8580657..2834b4a 100644 (file)
@@ -25,6 +25,7 @@ Opzioni:\n\
     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 89676c8..83d4286 100644 (file)
@@ -33,6 +33,7 @@ Opcje:\n\
     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 34f419a..4d0df28 100644 (file)
@@ -34,6 +34,7 @@ Opțiuni:\n\
     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 7fdd925..dff3627 100644 (file)
@@ -25,6 +25,7 @@ BEGIN
     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 8ac32b8..f3911c8 100644 (file)
@@ -29,6 +29,7 @@ Options:\n\
     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 967e9f1..c92043e 100644 (file)
@@ -32,6 +32,7 @@ Alternativ:\n\
     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 8c17ddb..862c44f 100644 (file)
@@ -27,6 +27,7 @@ Seçenekler:\n\
     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 42cd281..90b20ef 100644 (file)
@@ -33,6 +33,7 @@ BEGIN
     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 6369429..e7f5ae2 100644 (file)
@@ -27,6 +27,7 @@ BEGIN
     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 c09c079..ee5b064 100644 (file)
@@ -249,7 +249,15 @@ static BOOL ParseCmdline(int argc, LPWSTR argv[])
                 case L'a': ResolveAddresses = TRUE; break;
                 case L'n':
                     if (i + 1 < argc)
+                    {
                         PingCount = wcstoul(argv[++i], NULL, 0);
+
+                        if (PingCount == 0)
+                        {
+                            FormatOutput(IDS_BAD_VALUE_OPTION_N, UINT_MAX);
+                            return FALSE;
+                        }
+                    }
                     else
                         InvalidOption = TRUE;
                     break;
index a4d1bc5..1da2f21 100644 (file)
@@ -23,3 +23,4 @@
 #define IDS_REQUEST_TIMEOUT            20
 #define IDS_MS                         21
 #define IDS_1MS                        22
+#define IDS_BAD_VALUE_OPTION_N         23