Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 98479 invoked from network); 23 Nov 2007 10:33:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Nov 2007 10:33:39 -0000 Received: (qmail 45107 invoked by uid 500); 23 Nov 2007 10:33:26 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 45082 invoked by uid 500); 23 Nov 2007 10:33:26 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 45073 invoked by uid 99); 23 Nov 2007 10:33:26 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Nov 2007 02:33:26 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Nov 2007 10:33:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id CDD561A9842; Fri, 23 Nov 2007 02:33:15 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r597634 - /harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/methodtable.cpp Date: Fri, 23 Nov 2007 10:33:15 -0000 To: commits@harmony.apache.org From: varlax@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071123103315.CDD561A9842@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: varlax Date: Fri Nov 23 02:33:15 2007 New Revision: 597634 URL: http://svn.apache.org/viewvc?rev=597634&view=rev Log: Fixed HARMONY-5124 [drlvm][jitrino] Bugs in the implementation of Method_Table class Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/methodtable.cpp Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/methodtable.cpp URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/methodtable.cpp?rev=597634&r1=597633&r2=597634&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/methodtable.cpp (original) +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/methodtable.cpp Fri Nov 23 02:33:15 2007 @@ -189,14 +189,15 @@ // Returns true on success, false on failure bool Method_Table::read_method_table() { - char buf[1000]; + const size_t max_size = 1000; + char buf[max_size]; FILE *file = fopen(_method_file, "r"); if (file == NULL) { fprintf(stderr, "Couldn't open method table file %s\n", _method_file); return false; } - while (fgets(buf, 1000, file) != NULL) + while (fgets(buf, max_size, file) != NULL) { // strip out any newline at the end int buflen = (int) strlen(buf); @@ -226,22 +227,25 @@ void Method_Table::init(const char *default_envvar, const char *envvarname) { - - char *rangestr; - - char *envvar = (char*)default_envvar; - - if (envvar == NULL || envvar[0] == '\0') + if (default_envvar == NULL || default_envvar[0] == '\0') { return; } - // strip away double-quote characters - if (envvar[0] == '"') - envvar ++; - if (envvar[strlen(envvar)-1] == '"') - envvar[strlen(envvar)-1] = '\0'; + + char *rangestr; + char *envvar = strdup(_mm, default_envvar); + // strip away double-quote characters + if (envvar[0] == '"') { + envvar ++; + } int evlen = (int) strlen(envvar); + if (evlen > 0 && envvar[evlen-1] == '"') { + envvar[--evlen] = '\0'; + } + if (evlen == 0) { + return; + } int i; for (i=evlen-1; i>=0; i--) {