nus-yam/ex-repair huggingface dataset:
Program: CWE-79
Project: CVE-2017-1000457
Buggy source:
using System;
using System.Web.UI;
using mojoPortal.Business.WebHelpers;
using mojoPortal.Web.Framework;
using Resources;

namespace mojoPortal.Web.UI.Pages
{
	public partial class Help : Page
	{
		private string helpKey = String.Empty;


		protected override void OnInit(EventArgs e)
		{
			base.OnInit(e);
			Load += new EventHandler(Page_Load);
		}


		protected void Page_Load(object sender, EventArgs e)
		{
			if (Request.Params.Get("helpkey") != null)
			{
				helpKey = Request.Params.Get("helpkey");
			}

			// if we pass this param suppress edit link doesn't work in cluetip
			if (Request.Params.Get("e") == null)
			{
				if (WebUser.IsAdminOrContentAdmin)
				{
					if (helpKey != String.Empty)
					{
						litEditLink.Text =
							"<a href='" +
							SiteUtils.GetNavigationSiteRoot() + "/HelpEdit.aspx?helpkey=" +
							SecurityHelper.RemoveMarkup(helpKey) + "'>" +
							Resource.HelpEditLink +
							"</a><br />"
						;
					}
				}
			}

			if (helpKey != String.Empty)
			{
				ShowHelp();
			}
		}


		protected void ShowHelp()
		{
			String helpText = ResourceHelper.GetHelpFileText(helpKey);

			if (helpText == String.Empty)
			{
				helpText = WebUser.IsAdminOrContentAdmin ?
					String.Format(Resource.HelpNoHelpAvailableAdminUser, helpKey) :
					Resource.HelpNoHelpAvailable;
			}

			litHelp.Text = helpText;
		}
	}
}


Fixed version (ground truth):
using mojoPortal.Business.WebHelpers;
using mojoPortal.Web.Framework;
using Resources;
using System;
using System.Web;
using System.Web.UI;

namespace mojoPortal.Web.UI.Pages
{
	public partial class Help : Page
	{
		private string helpKey = String.Empty;


		protected override void OnInit(EventArgs e)
		{
			base.OnInit(e);
			Load += new EventHandler(Page_Load);
		}


		protected void Page_Load(object sender, EventArgs e)
		{
			if (Request.Params.Get("helpkey") != null)
			{
				helpKey = Request.Params.Get("helpkey");
			}

			// if we pass this param suppress edit link doesn't work in cluetip
			if (Request.Params.Get("e") == null)
			{
				if (WebUser.IsAdminOrContentAdmin)
				{
					if (helpKey != String.Empty)
					{
						litEditLink.Text =
							"<a href='" +
							SiteUtils.GetNavigationSiteRoot() + "/HelpEdit.aspx?helpkey=" +
							SecurityHelper.RemoveMarkup(helpKey) + "'>" +
							Resource.HelpEditLink +
							"</a><br />"
						;
					}
				}
			}

			if (helpKey != String.Empty)
			{
				ShowHelp();
			}
		}


		protected void ShowHelp()
		{
			String helpText = ResourceHelper.GetHelpFileText(helpKey);

			if (helpText == String.Empty)
			{
				helpText = WebUser.IsAdminOrContentAdmin ?
					String.Format(Resource.HelpNoHelpAvailableAdminUser, helpKey) :
					Resource.HelpNoHelpAvailable;
			}

			litHelp.Text = HttpUtility.HtmlDecode(SecurityHelper.RemoveMarkup(helpText));
		}
	}
}
Program: CWE-79
Project: CVE-2017-1000491
Buggy source:
{
  "compilerOptions": {
    "removeComments": true,
    "preserveConstEnums": true,
    "outDir": "../build/src/renderer",
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "noUnusedLocals": false,
    "noUnusedParameters": true,
    "noEmitOnError": true,
    "target": "es5",
    "sourceMap": true
  },
  "files": [
    "builtin-search.ts",
    "emoji.ts",
    "encoding-japanese.d.ts",
    "index.ts",
    "keyboard.ts",
    "lib.d.ts",
    "marked.d.ts",
    "lint-message.ts",
    "lint-panel.ts",
    "markdown-preview.ts",
    "paw-filechooser.ts",
    "toc-dialog.ts"
  ]
}


Fixed version (ground truth):
{
  "compilerOptions": {
    "removeComments": true,
    "preserveConstEnums": true,
    "outDir": "../build/src/renderer",
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "noUnusedLocals": false,
    "noUnusedParameters": true,
    "noEmitOnError": true,
    "target": "es5",
    "sourceMap": true
  },
  "files": [
    "builtin-search.ts",
    "emoji.ts",
    "encoding-japanese.d.ts",
    "index.ts",
    "keyboard.ts",
    "lib.d.ts",
    "lint-message.ts",
    "lint-panel.ts",
    "markdown-preview.ts",
    "paw-filechooser.ts",
    "toc-dialog.ts"
  ]
}
Program: CWE-79
Project: CVE-2017-11594
Buggy source:
angular.module('loomioApp').config (markedProvider, renderProvider) ->
  markedProvider.setOptions
    gfm: true
    sanitize: true
    breaks: true
  markedProvider.setRenderer(renderProvider.$get(0).createRenderer())


Fixed version (ground truth):
angular.module('loomioApp').config (markedProvider) ->
  customRenderer = (opts) ->
    _super   = new marked.Renderer(opts)
    renderer = _.clone(_super)
    cook = (text) ->
      text = emojione.shortnameToImage(text)
      text = text.replace(/\[\[@([a-zA-Z0-9]+)\]\]/g, "<a class='lmo-user-mention' href='/u/$1'>@$1</a>")
      text

    renderer.paragraph = (text) -> _super.paragraph cook(text)
    renderer.listitem  = (text) -> _super.listitem  cook(text)
    renderer.tablecell = (text) -> _super.tablecell cook(text)

    renderer.heading   = (text, level) ->
      _super.heading(emojione.shortnameToImage(text), level, text)

    renderer.link      = (href, title, text) ->
      _super.link(href, title, text).replace('<a ', '<a rel="noopener noreferrer" target="_blank" ')

    renderer

  markedProvider.setRenderer customRenderer(gfm: true, sanitize: true, breaks: true)
Program: CWE-79
Project: CVE-2017-14920
Buggy source:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<overlay>
	<template id="calendar.conflicts" template="" lang="" group="0" version="1.0.1.001">
		<description value="Scheduling conflict" class="calendar_size120b"/>
		<box class="calendar_conflicts">
			<grid>
				<columns>
					<column/>
					<column/>
					<column/>
					<column/>
				</columns>
				<rows>
					<row valign="top">
						<image src="conflicts[$row][icon_participants]" statustext="@conflicts[$row][tooltip_participants]" no_lang="1"/>
						<image src="conflicts[$row][icon_recur]" label="@conflicts[$row][text_recur]" no_lang="1"/>
						<description id="conflicts[$row][time]" no_lang="1"/>
						<vbox statustext="conflict[$row][tooltip]" orient=",0,0">
							<description id="conflicts[$row][title]" no_lang="1" options="b"/>
							<description id="conflicts[$row][conflicting_participants]" no_lang="1"/>
						</vbox>
					</row>
				</rows>
			</grid>
		</box>
		<hbox>
			<button label="Ignore conflict" id="button[ignore]" statustext="Saves the event ignoring the conflict"/>
			<button id="button[reedit]" label="Re-Edit event" statustext="Allows to edit the event again"/>
			<button label="Freetime search" id="button[freetime]" statustext="Find free timeslots where the selected participants are availible for the given timespan"/>
		</hbox>
	</template>
</overlay>


Fixed version (ground truth):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<overlay>
	<template id="calendar.conflicts" template="" lang="" group="0" version="1.0.1.001">
		<description value="Scheduling conflict" class="calendar_size120b"/>
		<box class="calendar_conflicts">
			<grid>
				<columns>
					<column/>
					<column/>
					<column/>
					<column/>
				</columns>
				<rows>
					<row valign="top">
						<image src="conflicts[$row][icon_participants]" statustext_html="true" statustext="@conflicts[$row][tooltip_participants]" no_lang="1"/>
						<image src="conflicts[$row][icon_recur]" label="@conflicts[$row][text_recur]" no_lang="1"/>
						<description id="conflicts[$row][time]" no_lang="1"/>
						<vbox statustext="conflict[$row][tooltip]" statustext_html="true" orient=",0,0">
							<description id="conflicts[$row][title]" no_lang="1" options="b"/>
							<description id="conflicts[$row][conflicting_participants]" no_lang="1"/>
						</vbox>
					</row>
				</rows>
			</grid>
		</box>
		<hbox>
			<button label="Ignore conflict" id="button[ignore]" statustext="Saves the event ignoring the conflict"/>
			<button id="button[reedit]" label="Re-Edit event" statustext="Allows to edit the event again"/>
			<button label="Freetime search" id="button[freetime]" statustext="Find free timeslots where the selected participants are availible for the given timespan"/>
		</hbox>
	</template>
</overlay>
Program: CWE-79
Project: CVE-2017-15216
Buggy source:
<div class="confirmation">
	<?php
		echo $this->Form->create('Sighting', array('style' => 'margin:0px;', 'id' => 'PromptForm', 'url' => '/sightings/quickDelete/' . $id . '/' . urlencode($rawId) . '/' . $context));
	?>
	<legend>Remove Sighting</legend>
	<div style="padding-left:5px;padding-right:5px;padding-bottom:5px;">
	<p>Remove sighting (<?php echo h($id); ?>)?</p>
		<table>
			<tr>
				<td style="vertical-align:top">
					<span id="PromptYesButton" role="button" tabindex="0" aria-label="Remove sighting" title="Remove sighting" class="btn btn-primary" onClick="removeSighting('<?php echo h($id); ?>', '<?php echo h($rawId); ?>', '<?php echo h($context); ?>');">Yes</span>
				</td>
				<td style="width:540px;">
				</td>
				<td style="vertical-align:top;">
					<span role="button" tabindex="0" aria-label="Cancel" title="Cancel" class="btn btn-inverse" id="PromptNoButton" onClick="cancelPrompt(1);">No</span>
				</td>
			</tr>
		</table>
	</div>
	<?php
		echo $this->Form->end();
	?>
</div>


Fixed version (ground truth):
<div class="confirmation">
	<?php
		echo $this->Form->create('Sighting', array('style' => 'margin:0px;', 'id' => 'PromptForm', 'url' => '/sightings/quickDelete/' . $id . '/' . urlencode($rawId) . '/' . $context));
	?>
	<legend>Remove Sighting</legend>
	<div style="padding-left:5px;padding-right:5px;padding-bottom:5px;">
	<p>Remove sighting (<?php echo h($id); ?>)?</p>
		<table>
			<tr>
				<td style="vertical-align:top">
					<span id="PromptYesButton" role="button" tabindex="0" aria-label="Remove sighting" title="Remove sighting" class="btn btn-primary" data-id="<?php echo h($id); ?>" data-rawid="<?php echo h($rawId); ?>" data-context="<?php echo h($context); ?>" onClick="removeSighting(this);">Yes</span>
				</td>
				<td style="width:540px;">
				</td>
				<td style="vertical-align:top;">
					<span role="button" tabindex="0" aria-label="Cancel" title="Cancel" class="btn btn-inverse" id="PromptNoButton" onClick="cancelPrompt(1);">No</span>
				</td>
			</tr>
		</table>
	</div>
	<?php
		echo $this->Form->end();
	?>
</div>
Program: CWE-79
Project: CVE-2017-15279
Buggy source:
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Umbraco.Web.UI.Pages;

namespace Umbraco.Web.UI.Umbraco.Dialogs
{
    public partial class Publish : UmbracoEnsuredPage
    {
     
        protected string PageName { get; private set; }
        protected int DocumentId { get; private set; }
        protected string DocumentPath { get; private set; }

        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            int id;
            if (!int.TryParse(Request.GetItemAsString("id"), out id))
            {
                throw new InvalidOperationException("The id value must be an integer");
            }

            var doc = Services.ContentService.GetById(id);
            if (doc == null)
            {
                throw new InvalidOperationException("No document found with id " + id);
            }

            DocumentId = doc.Id;
            PageName = doc.Name;
            DocumentPath = doc.Path;

        }
    }
}

Fixed version (ground truth):
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Umbraco.Web.UI.Pages;

namespace Umbraco.Web.UI.Umbraco.Dialogs
{
    public partial class Publish : UmbracoEnsuredPage
    {
     
        protected string PageName { get; private set; }
        protected int DocumentId { get; private set; }
        protected string DocumentPath { get; private set; }

        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            int id;
            if (!int.TryParse(Request.GetItemAsString("id"), out id))
            {
                throw new InvalidOperationException("The id value must be an integer");
            }

            var doc = Services.ContentService.GetById(id);
            if (doc == null)
            {
                throw new InvalidOperationException("No document found with id " + id);
            }

            DocumentId = doc.Id;
            PageName = Server.HtmlEncode(doc.Name);
            DocumentPath = doc.Path;

        }
    }
}
Program: CWE-79
Project: CVE-2017-15872
Buggy source:
<?php
/**
 * phpwcms content management system
 *
 * @author Oliver Georgi <og@phpwcms.org>
 * @copyright Copyright (c) 2002-2017, Oliver Georgi
 * @license http://opensource.org/licenses/GPL-2.0 GNU GPL-2
 * @link http://www.phpwcms.org
 *
 **/

define('PHPWCMS_VERSION', '1.9.0-beta.8');
define('PHPWCMS_RELEASE_DATE', '2017/10/08');
define('PHPWCMS_REVISION', '549');


Fixed version (ground truth):
<?php
/**
 * phpwcms content management system
 *
 * @author Oliver Georgi <og@phpwcms.org>
 * @copyright Copyright (c) 2002-2017, Oliver Georgi
 * @license http://opensource.org/licenses/GPL-2.0 GNU GPL-2
 * @link http://www.phpwcms.org
 *
 **/

define('PHPWCMS_VERSION', '1.9.0-beta.8');
define('PHPWCMS_RELEASE_DATE', '2017/10/23');
define('PHPWCMS_REVISION', '549');
Program: CWE-79
Project: CVE-2017-16792
Buggy source:
<p>
<a href="/">Back to Gem Index</a>
</p>

<ul class="gemlist">
  <% @gem.by_name do |name, versions| %>
    <li class="gem-version">
      <h2><%= name %> (<%= versions.count == 1 ? versions.first.number : "#{versions.oldest.number} - #{versions.newest.number}" %>)</h2>
      <% versions.each.reverse_each do |version| %>
        <p>
        <code>gem install <%= version.name %> <%= "--prerelease" if version.number.to_s.match(/[a-z]/i) %> -v "<%= version.number %>"</code>
        <% unless version.platform =~ /^ruby/i %>
          <small class="platform"><%= version.platform %></small>
        <% end %>
        </p>
        <form class="delete-form" method="post" action="<%= url("/gems/#{version.gemfile_name}.gem") %>">
          <a class="download" href="<%= url("/gems/#{version.gemfile_name}.gem") %>">download</a>
          <input type="hidden" name="_method" value="DELETE" />
          <button type="submit">delete</button>
        </form>
      <% end %>

      <div class="details">
        <p>
        <% newest_gem = versions.newest %>
        <% if spec = spec_for(name, newest_gem.number, newest_gem.platform) %>
          <%= spec.description %>
          <br/>
          <span class="author">– <%= spec.authors.map do |author|
            "<a href='#{h(spec.homepage)}'>#{author}</a>"
          end.join(', ') %></span>
        <% end %>
        </p>
      </div>

    </li>
  <% end %>
</ul>


Fixed version (ground truth):
<p>
<a href="/">Back to Gem Index</a>
</p>

<ul class="gemlist">
  <% @gem.by_name do |name, versions| %>
    <li class="gem-version">
      <h2><%= name %> (<%= versions.count == 1 ? versions.first.number : "#{versions.oldest.number} - #{versions.newest.number}" %>)</h2>
      <% versions.each.reverse_each do |version| %>
        <p>
        <code>gem install <%= version.name %> <%= "--prerelease" if version.number.to_s.match(/[a-z]/i) %> -v "<%= version.number %>"</code>
        <% unless version.platform =~ /^ruby/i %>
          <small class="platform"><%= version.platform %></small>
        <% end %>
        </p>
        <form class="delete-form" method="post" action="<%= url("/gems/#{version.gemfile_name}.gem") %>">
          <a class="download" href="<%= url("/gems/#{version.gemfile_name}.gem") %>">download</a>
          <input type="hidden" name="_method" value="DELETE" />
          <button type="submit">delete</button>
        </form>
      <% end %>

      <div class="details">
        <p>
        <% newest_gem = versions.newest %>
        <% if spec = spec_for(name, newest_gem.number, newest_gem.platform) %>
          <%= spec.description %>
          <br/>
          <span class="author">– <%= spec.authors.map do |author|
            "<a href='#{href(spec.homepage)}'>#{author}</a>"
          end.join(', ') %></span>
        <% end %>
        </p>
      </div>

    </li>
  <% end %>
</ul>
Program: CWE-79
Project: CVE-2017-17092
Buggy source:
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '5.0-alpha-42260';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4607-20171116';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';


Fixed version (ground truth):
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '5.0-alpha-42261';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4607-20171116';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';
Program: CWE-79
Project: CVE-2017-17093
Buggy source:
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '5.0-alpha-42258';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4607-20171116';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';


Fixed version (ground truth):
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '5.0-alpha-42259';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4607-20171116';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';
Program: CWE-79
Project: CVE-2017-18352
Buggy source:
<my-element></my-element>
<script>
  class MyElement extends HTMLElement {
    constructor() {
      super();

      const shadowRoot = this.attachShadow({mode: 'open'});
      shadowRoot.innerHTML = 'shadow-root' + '-text';
    }
  }
  customElements.define('my-element', MyElement);
</script>


Fixed version (ground truth):
<!--
Copyright 2017 Google Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
-->
<my-element></my-element>
<script>
  class MyElement extends HTMLElement {
    constructor() {
      super();

      const shadowRoot = this.attachShadow({mode: 'open'});
      shadowRoot.innerHTML = 'shadow-root' + '-text';
    }
  }
  customElements.define('my-element', MyElement);
</script>
Program: CWE-79
Project: CVE-2017-18358
Buggy source:
<?php
/*
 * LimeSurvey
 * Copyright (C) 2007-2011 The LimeSurvey Project Team / Carsten Schmitz
 * All rights reserved.
 * License: GNU/GPL License v2 or later, see LICENSE.php
 * LimeSurvey is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 *150413
 */

$config['versionnumber'] = '2.72.3';
$config['dbversionnumber'] = 263;
$config['buildnumber'] = '';
$config['updatable'] = true;
$config['assetsversionnumber'] = '2723';
return $config;

?>


Fixed version (ground truth):
<?php
/*
 * LimeSurvey
 * Copyright (C) 2007-2011 The LimeSurvey Project Team / Carsten Schmitz
 * All rights reserved.
 * License: GNU/GPL License v2 or later, see LICENSE.php
 * LimeSurvey is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 *150413
 */

$config['versionnumber'] = '2.72.4';
$config['dbversionnumber'] = 263;
$config['buildnumber'] = '';
$config['updatable'] = true;
$config['assetsversionnumber'] = '2724';
return $config;

?>
Program: CWE-79
Project: CVE-2017-5490
Buggy source:
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-39795';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';


Fixed version (ground truth):
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-39807';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';
Program: CWE-79
Project: CVE-2017-5612
Buggy source:
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-39954';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';


Fixed version (ground truth):
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-39956';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';
Program: CWE-79
Project: CVE-2017-6814
Buggy source:
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-40147';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';


Fixed version (ground truth):
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-40148';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';
Program: CWE-79
Project: CVE-2017-6817
Buggy source:
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-40148';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';


Fixed version (ground truth):
<?php
/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '4.8-alpha-40160';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 38590;

/**
 * Holds the TinyMCE version
 *
 * @global string $tinymce_version
 */
$tinymce_version = '4403-20160901';

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
$required_php_version = '5.2.4';

/**
 * Holds the required MySQL version
 *
 * @global string $required_mysql_version
 */
$required_mysql_version = '5.0';
Program: CWE-79
Project: CVE-2017-6908
Buggy source:
<?
defined('C5_EXECUTE') or die("Access Denied.");

if (!Loader::helper('validation/numbers')->integer($_REQUEST['fID'])) {
	die(t('Access Denied'));
}

$selectedField = Loader::helper('text')->entities($_REQUEST['ccm_file_selected_field']);

$u = new User();
$form = Loader::helper('form');
$fp = FilePermissions::getGlobal();
if (!$fp->canAccessFileManager()) {
	die(t("Unable to access the file manager."));
}



$f = File::getByID($_REQUEST['fID']);
$fp = new Permissions($f);
if (!$fp->canViewFileInFileManager()) {
	die(t("Access Denied."));
}

$fv = $f->getApprovedVersion();

$canViewInline = $fv->canView() ? 1 : 0;
$canEdit = $fv->canEdit() ? 1 : 0;
?>

<div class="ccm-file-selected" fID="<?=$_REQUEST['fID']?>" ccm-file-manager-field="<?=$selectedField?>" ccm-file-manager-can-duplicate="<?=$fp->canCopyFile()?>" ccm-file-manager-can-admin="<?=($fp->canEditFilePermissions())?>" ccm-file-manager-can-delete="<?=$fp->canDeleteFile()?>" ccm-file-manager-can-view="<?=$canViewInline?>" ccm-file-manager-can-replace="<?=$fp->canEditFileContents()?>" ccm-file-manager-can-edit="<?=$canEdit?>"  >
<div class="ccm-file-selected-thumbnail"><?=$fv->getThumbnail(1)?></div>
<div class="ccm-file-selected-data"><div><?=$fv->getTitle()?></div><div></div></div>
<div class="ccm-spacer">&nbsp;</div>
</div>

Fixed version (ground truth):
<?
defined('C5_EXECUTE') or die("Access Denied.");

if (!Loader::helper('validation/numbers')->integer($_REQUEST['fID'])) {
	die(t('Access Denied'));
}

$selectedField = Loader::helper('text')->entities($_REQUEST['ccm_file_selected_field']);
$fID = Loader::helper('text')->entities($_REQUEST['fID']);

$u = new User();
$form = Loader::helper('form');
$fp = FilePermissions::getGlobal();
if (!$fp->canAccessFileManager()) {
	die(t("Unable to access the file manager."));
}



$f = File::getByID($fID);
$fp = new Permissions($f);
if (!$fp->canViewFileInFileManager()) {
	die(t("Access Denied."));
}

$fv = $f->getApprovedVersion();

$canViewInline = $fv->canView() ? 1 : 0;
$canEdit = $fv->canEdit() ? 1 : 0;
?>

<div class="ccm-file-selected" fID="<?=$fID?>" ccm-file-manager-field="<?=$selectedField?>" ccm-file-manager-can-duplicate="<?=$fp->canCopyFile()?>" ccm-file-manager-can-admin="<?=($fp->canEditFilePermissions())?>" ccm-file-manager-can-delete="<?=$fp->canDeleteFile()?>" ccm-file-manager-can-view="<?=$canViewInline?>" ccm-file-manager-can-replace="<?=$fp->canEditFileContents()?>" ccm-file-manager-can-edit="<?=$canEdit?>"  >
<div class="ccm-file-selected-thumbnail"><?=$fv->getThumbnail(1)?></div>
<div class="ccm-file-selected-data"><div><?=$fv->getTitle()?></div><div></div></div>
<div class="ccm-spacer">&nbsp;</div>
</div>
Program: CWE-79
Project: CVE-2017-7215
Buggy source:
<div>
<h3>Landing page for <?php echo $org;?></h3>
<div>
<?php echo h($landingPage);?>
</div>
</div>


Fixed version (ground truth):
<div>
<h3>Landing page for <?php echo h($org);?></h3>
<div>
<?php echo h($landingPage);?>
</div>
</div>
Program: CWE-79
Project: CVE-2017-8832
Buggy source:
<?php

/*
Allen Disk 1.6
Copyright (C) 2012~2016 Allen Chou
Author: Allen Chou ( http://allenchou.cc )
License: MIT License
*/

include 'config.php';
if (!session_id()) {
    session_start();
}
include dirname(__FILE__).'/class/password_compat.php';
function login($username, $password)
{
    $res = $GLOBALS['db']->select('user', array('name' => $username));

    if (password_verify($password, $res[0]['pass'])) {
        return true;
    } else {
        return false;
    }
}

function md5_128($text)
{
    for ($i = 0; $i < 128; ++$i) {
        $text = md5($text);
    }

    return $text;
}

$username = $_POST['name'];
$password = $_POST['password'];
$res = login($username, $password);
switch ($res) {
    case 0:
        echo 1;
    break;

    case 1:
        $_SESSION['login'] = true;
        $_SESSION['username'] = $username;
        $_SESSION['password'] = md5_128($password);
        echo 2;
    break;

    default:
        echo 0;
    break;
}


Fixed version (ground truth):
<?php

/*
Allen Disk 1.6
Copyright (C) 2012~2016 Allen Chou
Author: Allen Chou ( http://allenchou.cc )
License: MIT License
*/

include 'config.php';
if (!session_id()) {
    session_start();
}
include dirname(__FILE__).'/class/password_compat.php';
function login($username, $password)
{
    $res = $GLOBALS['db']->select('user', array('name' => $username));

    if (password_verify($password, $res[0]['pass'])) {
        return true;
    } else {
        return false;
    }
}

function md5_128($text)
{
    for ($i = 0; $i < 128; ++$i) {
        $text = md5($text);
    }

    return $text;
}

$username = $_POST['name'];
$password = $_POST['password'];
$res = login($username, $password);
switch ($res) {
    case 0:
        echo 1;
    break;

    case 1:
        $_SESSION['login'] = true;
        $_SESSION['username'] = htmlspecialchars($username);
        $_SESSION['password'] = md5_128($password);
        echo 2;
    break;

    default:
        echo 0;
    break;
}
Program: CWE-79
Project: CVE-2018-10366
Buggy source:
{{ form_ajax('onUpdate', { model: user }) }}

    <div class="form-group">
        <label for="accountName">Full Name</label>
        <input name="name" type="text" class="form-control" id="accountName" value="{{ form_value('name') }}">
    </div>

    <div class="form-group">
        <label for="accountEmail">Email</label>
        <input name="email" type="email" class="form-control" id="accountEmail" value="{{ form_value('email') }}">
    </div>

    <div class="form-group">
        <label for="accountPassword">New Password</label>
        <input name="password" type="password" class="form-control" id="accountPassword">
    </div>

    <div class="form-group">
        <label for="accountPasswordConfirm">Confirm New Password</label>
        <input name="password_confirmation" type="password" class="form-control" id="accountPasswordConfirm">
    </div>

    <button type="submit" class="btn btn-default">Save</button>

{{ form_close() }}

Fixed version (ground truth):
{{ form_ajax('onUpdate') }}

    <div class="form-group">
        <label for="accountName">Full Name</label>
        <input name="name" type="text" class="form-control" id="accountName" value="{{ user.name }}">
    </div>

    <div class="form-group">
        <label for="accountEmail">Email</label>
        <input name="email" type="email" class="form-control" id="accountEmail" value="{{ user.email }}">
    </div>

    <div class="form-group">
        <label for="accountPassword">New Password</label>
        <input name="password" type="password" class="form-control" id="accountPassword">
    </div>

    <div class="form-group">
        <label for="accountPasswordConfirm">Confirm New Password</label>
        <input name="password_confirmation" type="password" class="form-control" id="accountPasswordConfirm">
    </div>

    <button type="submit" class="btn btn-default">Save</button>

{{ form_close() }}
Program: CWE-79
Project: CVE-2018-11512
Buggy source:
None

Fixed version (ground truth):
<?php

/**
 * Validate all attributes in the tokens.
 */

class HTMLPurifier_Strategy_ValidateAttributes extends HTMLPurifier_Strategy
{

    /**
     * @param HTMLPurifier_Token[] $tokens
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return HTMLPurifier_Token[]
     */
    public function execute($tokens, $config, $context)
    {
        // setup validator
        $validator = new HTMLPurifier_AttrValidator();

        $token = false;
        $context->register('CurrentToken', $token);

        foreach ($tokens as $key => $token) {

            // only process tokens that have attributes,
            //   namely start and empty tags
            if (!$token instanceof HTMLPurifier_Token_Start && !$token instanceof HTMLPurifier_Token_Empty) {
                continue;
            }

            // skip tokens that are armored
            if (!empty($token->armor['ValidateAttributes'])) {
                continue;
            }

            // note that we have no facilities here for removing tokens
            $validator->validateToken($token, $config, $context);
        }
        $context->destroy('CurrentToken');
        return $tokens;
    }
}

// vim: et sw=4 sts=4
Program: CWE-79
Project: CVE-2018-13423
Buggy source:
<div id="tag-form" class="field">
    <?php
        $tags = $item->getTags();
    ?>
    <input type="hidden" name="tags-to-add" id="tags-to-add" value="" />
    <input type="hidden" name="tags-to-delete" id="tags-to-delete" value="" />
    <div id="add-tags">
        <label><?php echo __('Add Tags'); ?></label>           
        <input type="text" name="tags" size="20" id="tags" class="textinput" value="" />
        <p id="add-tags-explanation" class="explanation"><?php echo __('Separate tags with %s', option('tag_delimiter')); ?></p>
        <input type="submit" name="add-tags-button" id="add-tags-button" class="green button" value="<?php echo __('Add Tags'); ?>" />
    </div>
    <div id="all-tags">
    <?php if ($tags): ?>
        <h3><?php echo __('All Tags'); ?></h3>
        
        <div class="tag-list">
        <ul id="all-tags-list">
            <?php foreach( $tags as $tag ): ?>
                <li>
                    <?php echo '<span class="tag">' . $tag->name . '</span>'; 
                          echo '<span class="undo-remove-tag"><a href="#">' . __('Undo') . '</a></span>';
                          echo '<span class="remove-tag"><a href="#">' . __('Remove') . '</a></span>'; ?>
                </li>
            <?php endforeach; ?>
        </ul>
        </div>
    <?php endif; ?>
    </div>
</div>
<?php fire_plugin_hook('admin_items_form_tags', array('item' => $item, 'view' => $this)); ?>


Fixed version (ground truth):
<div id="tag-form" class="field">
    <?php
        $tags = $item->getTags();
    ?>
    <input type="hidden" name="tags-to-add" id="tags-to-add" value="" />
    <input type="hidden" name="tags-to-delete" id="tags-to-delete" value="" />
    <div id="add-tags">
        <label><?php echo __('Add Tags'); ?></label>           
        <input type="text" name="tags" size="20" id="tags" class="textinput" value="" />
        <p id="add-tags-explanation" class="explanation"><?php echo __('Separate tags with %s', option('tag_delimiter')); ?></p>
        <input type="submit" name="add-tags-button" id="add-tags-button" class="green button" value="<?php echo __('Add Tags'); ?>" />
    </div>
    <div id="all-tags">
    <?php if ($tags): ?>
        <h3><?php echo __('All Tags'); ?></h3>
        
        <div class="tag-list">
        <ul id="all-tags-list">
            <?php foreach( $tags as $tag ): ?>
                <li>
                    <?php echo '<span class="tag">' . html_escape($tag->name) . '</span>';
                          echo '<span class="undo-remove-tag"><a href="#">' . __('Undo') . '</a></span>';
                          echo '<span class="remove-tag"><a href="#">' . __('Remove') . '</a></span>'; ?>
                </li>
            <?php endforeach; ?>
        </ul>
        </div>
    <?php endif; ?>
    </div>
</div>
<?php fire_plugin_hook('admin_items_form_tags', array('item' => $item, 'view' => $this)); ?>
Program: CWE-79
Project: CVE-2018-16406
Buggy source:
from __future__ import unicode_literals

from django.apps import apps
from django.utils.html import format_html_join

from .permissions import permission_cabinet_view


def jstree_data(node, selected_node):
    result = []
    result.append('{')
    result.append('"text": "{}",'.format(node.label))
    result.append(
        '"state": {{ "opened": true, "selected": {} }},'.format(
            'true' if node == selected_node else 'false'
        )
    )
    result.append(
        '"data": {{ "href": "{}" }},'.format(node.get_absolute_url())
    )

    children = node.get_children().order_by('label',)

    if children:
        result.append('"children" : [')
        for child in children:
            result.extend(jstree_data(node=child, selected_node=selected_node))

        result.append(']')

    result.append('},')

    return result


def widget_document_cabinets(document, user):
    """
    A cabinet widget that displays the cabinets for the given document
    """
    AccessControlList = apps.get_model(
        app_label='acls', model_name='AccessControlList'
    )

    cabinets = AccessControlList.objects.filter_by_access(
        permission_cabinet_view, user, queryset=document.document_cabinets().all()
    )

    return format_html_join(
        '\n', '<div class="cabinet-display">{}</div>',
        (
            (cabinet.get_full_path(),) for cabinet in cabinets
        )
    )


Fixed version (ground truth):
from __future__ import unicode_literals

from django.apps import apps
from django.utils.html import format_html, format_html_join

from .permissions import permission_cabinet_view


def jstree_data(node, selected_node):
    result = []

    result.append('{')
    result.append(format_html('"text": "{}",', node.label))
    result.append(
        '"state": {{ "opened": true, "selected": {} }},'.format(
            'true' if node == selected_node else 'false'
        )
    )
    result.append(
        '"data": {{ "href": "{}" }},'.format(node.get_absolute_url())
    )

    children = node.get_children().order_by('label',)

    if children:
        result.append('"children" : [')
        for child in children:
            result.extend(jstree_data(node=child, selected_node=selected_node))

        result.append(']')

    result.append('},')

    return result


def widget_document_cabinets(document, user):
    """
    A cabinet widget that displays the cabinets for the given document
    """
    AccessControlList = apps.get_model(
        app_label='acls', model_name='AccessControlList'
    )

    cabinets = AccessControlList.objects.filter_by_access(
        permission_cabinet_view, user, queryset=document.document_cabinets().all()
    )

    return format_html_join(
        '\n', '<div class="cabinet-display">{}</div>',
        (
            (cabinet.get_full_path(),) for cabinet in cabinets
        )
    )
Program: CWE-79
Project: CVE-2018-20594
Buggy source:
None

Fixed version (ground truth):
package org.hswebframework.web.workflow.enums;

/**
 * @author zhouhao
 * @since 3.0.5
 */
public enum ModelType {
    bpmn, json
}
Program: CWE-79
Project: CVE-2018-20962
Buggy source:
{{-- single relationships (1-1, 1-n) --}}
<span>
    <?php
        $attributes = $crud->getModelAttributeFromRelation($entry, $column['entity'], $column['attribute']);
        if (count($attributes)) {
            echo implode(', ', $attributes);
        } else {
            echo '-';
        }
    ?>
</span>


Fixed version (ground truth):
{{-- single relationships (1-1, 1-n) --}}
<span>
    <?php
        $attributes = $crud->getModelAttributeFromRelation($entry, $column['entity'], $column['attribute']);
        if (count($attributes)) {
            echo e(implode(', ', $attributes));
        } else {
            echo '-';
        }
    ?>
</span>
Program: CWE-79
Project: CVE-2018-20975
Buggy source:
# frozen_string_literal: true

# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
#
# Fat Free CRM is freely distributable under the terms of MIT license.
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
#------------------------------------------------------------------------------
module TagsHelper
  # Generate tag links for use on asset index pages.
  #----------------------------------------------------------------------------
  def tags_for_index(model)
    model.tags.inject("".html_safe) do |out, tag|
      query = controller.send(:current_query) || ""
      hashtag = "##{tag}"
      if query.empty?
        query = hashtag
      elsif !query.include?(hashtag)
        query += " #{hashtag}"
      end
      out << link_to_function(tag, "crm.search_tagged('#{query}', '#{model.class.to_s.tableize}')", title: tag)
    end
  end

  def tags_for_dashboard(model)
    content_tag(:ul) do
      model.tags.each do |tag|
        concat(content_tag(:li, tag.name))
      end
    end
  end
end


Fixed version (ground truth):
# frozen_string_literal: true

# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
#
# Fat Free CRM is freely distributable under the terms of MIT license.
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
#------------------------------------------------------------------------------
module TagsHelper
  # Generate tag links for use on asset index pages.
  #----------------------------------------------------------------------------
  def tags_for_index(model)
    model.tags.inject("".html_safe) do |out, tag|
      query = controller.send(:current_query) || ""
      hashtag = "##{tag}"
      if query.empty?
        query = hashtag
      elsif !query.include?(hashtag)
        query += " #{hashtag}"
      end
      out << link_to_function(tag, "crm.search_tagged('#{escape_javascript(query)}', '#{model.class.to_s.tableize}')", title: tag)
    end
  end

  def tags_for_dashboard(model)
    content_tag(:ul) do
      model.tags.each do |tag|
        concat(content_tag(:li, tag.name))
      end
    end
  end
end
Program: CWE-79
Project: CVE-2018-3717
Buggy source:
{
  "name": "connect",
  "version": "2.13.1",
  "description": "High performance middleware framework",
  "keywords": [
    "framework",
    "web",
    "middleware",
    "connect",
    "rack"
  ],
  "repository": "git://github.com/senchalabs/connect.git",
  "author": "TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)",
  "dependencies": {
    "basic-auth-connect": "1.0.0",
    "batch": "0.5.0",
    "cookie-parser": "1.0.1",
    "cookie-signature": "1.0.3",
    "compression": "1.0.0",
    "connect-timeout": "1.0.0",
    "csurf": "1.0.0",
    "errorhandler": "1.0.0",
    "express-session": "1.0.2",
    "method-override": "1.0.0",
    "morgan": "1.0.0",
    "qs": "0.6.6",
    "response-time": "1.0.0",
    "static-favicon": "1.0.0",
    "vhost": "1.0.0",
    "send": "0.1.4",
    "bytes": "0.2.1",
    "fresh": "0.2.0",
    "pause": "0.0.1",
    "debug": ">= 0.7.3 < 1",
    "raw-body": "1.1.3",
    "negotiator": "0.3.0",
    "multiparty": "2.2.0"
  },
  "devDependencies": {
    "should": ">= 2.0.2 < 3",
    "mocha": ">= 1.13.0 < 2",
    "jade": ">= 0.35.0 < 1",
    "dox": ">= 0.4.4 < 1"
  },
  "licenses": [
    {
      "type": "MIT",
      "url": "https://raw.github.com/senchalabs/connect/master/LICENSE"
    }
  ],
  "main": "index",
  "engines": {
    "node": ">= 0.8.0"
  },
  "scripts": {
    "test": "make"
  }
}


Fixed version (ground truth):
{
  "name": "connect",
  "version": "2.13.1",
  "description": "High performance middleware framework",
  "keywords": [
    "framework",
    "web",
    "middleware",
    "connect",
    "rack"
  ],
  "repository": "git://github.com/senchalabs/connect.git",
  "author": "TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)",
  "dependencies": {
    "basic-auth-connect": "1.0.0",
    "cookie-parser": "1.0.1",
    "cookie-signature": "1.0.3",
    "compression": "1.0.0",
    "connect-timeout": "1.0.0",
    "csurf": "1.0.0",
    "errorhandler": "1.0.0",
    "express-session": "1.0.2",
    "method-override": "1.0.0",
    "morgan": "1.0.0",
    "qs": "0.6.6",
    "response-time": "1.0.0",
    "serve-index": "1.0.0",
    "static-favicon": "1.0.0",
    "vhost": "1.0.0",
    "send": "0.1.4",
    "bytes": "0.2.1",
    "fresh": "0.2.0",
    "pause": "0.0.1",
    "debug": ">= 0.7.3 < 1",
    "raw-body": "1.1.3",
    "multiparty": "2.2.0"
  },
  "devDependencies": {
    "should": ">= 2.0.2 < 3",
    "mocha": ">= 1.13.0 < 2",
    "jade": ">= 0.35.0 < 1",
    "dox": ">= 0.4.4 < 1"
  },
  "licenses": [
    {
      "type": "MIT",
      "url": "https://raw.github.com/senchalabs/connect/master/LICENSE"
    }
  ],
  "main": "index",
  "engines": {
    "node": ">= 0.8.0"
  },
  "scripts": {
    "test": "make"
  }
}