RemoteDesktop: Application Crashes when Missing SSH Port
Addresses https://dev.haiku-os.org/ticket/14640 * Fixed parameter validation logic. Change-Id: I9b208d251a74a6024bb621eed4a7d5b167f4ff32 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5596 Tested-by: Commit checker robot <[email protected]> Reviewed-by: waddlesplash <[email protected]> Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
5d4091e214
commit
f5d759ea3b
@@ -60,8 +60,7 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (int32 i = 2; i < argc; i++) {
|
for (int32 i = 2; i < argc; i++) {
|
||||||
if (strcmp(argv[i], "-p") == 0) {
|
if (strcmp(argv[i], "-p") == 0) {
|
||||||
if (argc < i + 1 || sscanf(argv[i + 1], "%" B_SCNu16, &port)
|
if (argc <= i + 1 || sscanf(argv[i + 1], "%" B_SCNu16, &port) != 1) {
|
||||||
!= 1) {
|
|
||||||
print_usage(argv[0]);
|
print_usage(argv[0]);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
@@ -71,8 +70,7 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(argv[i], "-w") == 0) {
|
if (strcmp(argv[i], "-w") == 0) {
|
||||||
if (argc < i + 1 || sscanf(argv[i + 1], "%" B_SCNd32, &width) != 1)
|
if (argc <= i + 1 || sscanf(argv[i + 1], "%" B_SCNd32, &width) != 1) {
|
||||||
{
|
|
||||||
print_usage(argv[0]);
|
print_usage(argv[0]);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
@@ -82,8 +80,7 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(argv[i], "-h") == 0) {
|
if (strcmp(argv[i], "-h") == 0) {
|
||||||
if (argc < i + 1 || sscanf(argv[i + 1], "%" B_SCNd32, &height) != 1)
|
if (argc <= i + 1 || sscanf(argv[i + 1], "%" B_SCNd32, &height) != 1) {
|
||||||
{
|
|
||||||
print_usage(argv[0]);
|
print_usage(argv[0]);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
@@ -93,17 +90,18 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(argv[i], "-s") == 0) {
|
if (strcmp(argv[i], "-s") == 0) {
|
||||||
if (argc >= i + 1
|
if (argc <= i + 1 || sscanf(argv[i + 1], "%" B_SCNu16, &sshPort) != 1) {
|
||||||
&& sscanf(argv[i + 1], "%" B_SCNu16, &sshPort) == 1) {
|
print_usage(argv[0]);
|
||||||
i++;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
i++;
|
||||||
useSSH = true;
|
useSSH = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(argv[i], "-c") == 0) {
|
if (strcmp(argv[i], "-c") == 0) {
|
||||||
if (argc < i + 1) {
|
if (argc <= i + 1) {
|
||||||
print_usage(argv[0]);
|
print_usage(argv[0]);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user