From: yangguo@chromium.org Date: Wed, 22 Feb 2012 10:31:32 +0000 (+0000) Subject: Prevent segfault when preparser fails due to lack of argument. X-Git-Tag: upstream/4.7.83~17305 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f736f0a60061a3f30a515ce802b97920317cef1e;p=platform%2Fupstream%2Fv8.git Prevent segfault when preparser fails due to lack of argument. BUG=v8:1963 TEST=run preparser with no command line arguments Review URL: https://chromiumcodereview.appspot.com/9431028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/preparser/preparser-process.cc b/preparser/preparser-process.cc index b0aeb81..368f63f 100644 --- a/preparser/preparser-process.cc +++ b/preparser/preparser-process.cc @@ -200,12 +200,14 @@ void fail(v8::PreParserData* data, const char* message, ...) { vfprintf(stderr, message, args); va_end(args); fflush(stderr); - // Print preparser data to stdout. - uint32_t size = data->size(); - fprintf(stderr, "LOG: data size: %u\n", size); - if (!WriteBuffer(stdout, data->data(), size)) { - perror("ERROR: Writing data"); - fflush(stderr); + if (data != NULL) { + // Print preparser data to stdout. + uint32_t size = data->size(); + fprintf(stderr, "LOG: data size: %u\n", size); + if (!WriteBuffer(stdout, data->data(), size)) { + perror("ERROR: Writing data"); + fflush(stderr); + } } exit(EXIT_FAILURE); }