diff options
Diffstat (limited to 'linden/indra/newview/viewer.cpp')
-rw-r--r-- | linden/indra/newview/viewer.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/linden/indra/newview/viewer.cpp b/linden/indra/newview/viewer.cpp index d42872d..8f37bc3 100644 --- a/linden/indra/newview/viewer.cpp +++ b/linden/indra/newview/viewer.cpp | |||
@@ -946,10 +946,6 @@ int main( int argc, char **argv ) | |||
946 | // May need to know this early also | 946 | // May need to know this early also |
947 | gDisableVoice = TRUE; | 947 | gDisableVoice = TRUE; |
948 | } | 948 | } |
949 | else if (!strcmp(argv[j], "-url") && (++j < argc)) | ||
950 | { | ||
951 | LLURLSimString::setString(argv[j]); | ||
952 | } | ||
953 | } | 949 | } |
954 | 950 | ||
955 | if (!strcmp(gUserServerName, gUserServerDomainName[USERSERVER_AGNI].mName)) | 951 | if (!strcmp(gUserServerName, gUserServerDomainName[USERSERVER_AGNI].mName)) |
@@ -5344,18 +5340,13 @@ int parse_args(int argc, char **argv) | |||
5344 | // Sometimes IP addresses passed in on the command line have leading | 5340 | // Sometimes IP addresses passed in on the command line have leading |
5345 | // or trailing white space. Use LLString to clean that up. | 5341 | // or trailing white space. Use LLString to clean that up. |
5346 | LLString ip_string; | 5342 | LLString ip_string; |
5347 | |||
5348 | S32 j; | 5343 | S32 j; |
5349 | // agent_sim_host holds the settings for connecting to the first simulator. | ||
5350 | 5344 | ||
5351 | for (j = 1; j < argc; j++) | 5345 | for (j = 1; j < argc; j++) |
5352 | { | 5346 | { |
5353 | gArgs += argv[j]; | 5347 | gArgs += argv[j]; |
5354 | gArgs += " "; | 5348 | gArgs += " "; |
5355 | } | ||
5356 | 5349 | ||
5357 | for (j = 1; j < argc; j++) | ||
5358 | { | ||
5359 | LLString argument = argv[j]; | 5350 | LLString argument = argv[j]; |
5360 | if ((!strcmp(argv[j], "-port")) && (++j < argc)) | 5351 | if ((!strcmp(argv[j], "-port")) && (++j < argc)) |
5361 | { | 5352 | { |
@@ -5613,11 +5604,23 @@ int parse_args(int argc, char **argv) | |||
5613 | // so this allows us to parse the URL straight off the command line without a "-url" paramater | 5604 | // so this allows us to parse the URL straight off the command line without a "-url" paramater |
5614 | else if (!argument.compare(0, std::string( "secondlife://" ).length(), std::string("secondlife://"))) | 5605 | else if (!argument.compare(0, std::string( "secondlife://" ).length(), std::string("secondlife://"))) |
5615 | { | 5606 | { |
5607 | // *NOTE: After setting the url, bail. What can happen is | ||
5608 | // that someone can use IE (or potentially other browsers) | ||
5609 | // and do the rough equivalent of command injection and | ||
5610 | // steal passwords. Phoenix. SL-55321 | ||
5616 | LLURLSimString::setString(argv[j]); | 5611 | LLURLSimString::setString(argv[j]); |
5612 | gArgs += argv[j]; | ||
5613 | return 0; | ||
5617 | } | 5614 | } |
5618 | else if (!strcmp(argv[j], "-url") && (++j < argc)) | 5615 | else if (!strcmp(argv[j], "-url") && (++j < argc)) |
5619 | { | 5616 | { |
5617 | // *NOTE: After setting the url, bail. What can happen is | ||
5618 | // that someone can use IE (or potentially other browsers) | ||
5619 | // and do the rough equivalent of command injection and | ||
5620 | // steal passwords. Phoenix. SL-55321 | ||
5620 | LLURLSimString::setString(argv[j]); | 5621 | LLURLSimString::setString(argv[j]); |
5622 | gArgs += argv[j]; | ||
5623 | return 0; | ||
5621 | } | 5624 | } |
5622 | else if (!strcmp(argv[j], "-ignorepixeldepth")) | 5625 | else if (!strcmp(argv[j], "-ignorepixeldepth")) |
5623 | { | 5626 | { |