mirror of
https://github.com/hohn/codeql-javascript-multiflow.git
synced 2025-12-16 12:03:03 +01:00
Add nested if() test. Update source locations.
This commit is contained in:
committed by
=Michael Hohn
parent
d02e26d6d2
commit
405b3a0661
47
source/add-user.js
Normal file
47
source/add-user.js
Normal file
@@ -0,0 +1,47 @@
|
||||
function get_user_info() {
|
||||
var fs = require("fs");
|
||||
var stdinBuffer = fs.readFileSync(process.stdin.fd);
|
||||
var line = stdinBuffer.toString();
|
||||
console.log(line);
|
||||
line = line.replace(/(\r\n|\n|\r)/gm, "");
|
||||
return line
|
||||
}
|
||||
|
||||
function get_new_id() {
|
||||
return Math.floor(Math.random() * 12345);
|
||||
}
|
||||
|
||||
function connect_db() {
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db = new sqlite3.Database(
|
||||
'users.sqlite',
|
||||
sqlite3.OPEN_READWRITE | sqlite3.OPEN_FULLMUTEX,
|
||||
err => {
|
||||
if (err){
|
||||
console.log(err);
|
||||
throw err;
|
||||
} else {
|
||||
console.log('DB opened');
|
||||
}
|
||||
});
|
||||
|
||||
return db;
|
||||
}
|
||||
|
||||
function write_info(db, id, info) {
|
||||
db.serialize();
|
||||
const query = `INSERT INTO users VALUES (${id}, "${info}")`;
|
||||
console.log(query);
|
||||
db.exec(query);
|
||||
db.close();
|
||||
}
|
||||
|
||||
let add_user = () => {
|
||||
console.log("Running add-user");
|
||||
var info = get_user_info();
|
||||
var id = get_new_id();
|
||||
var db = connect_db();
|
||||
write_info(db, id, info);
|
||||
}
|
||||
|
||||
add_user()
|
||||
30
source/sample-utility-0.js
Normal file
30
source/sample-utility-0.js
Normal file
@@ -0,0 +1,30 @@
|
||||
var SampleUtility = function(){};
|
||||
SampleUtility.prototype = Object.extendsObject(Processor, {
|
||||
|
||||
setUserStatus: function() {
|
||||
var value = this.getParameter('value');
|
||||
|
||||
var ua = new GR('users');
|
||||
ua.query();
|
||||
|
||||
if(!ua.hasNext()){
|
||||
ua.initialize();
|
||||
ua.setValue('status',value);
|
||||
ua.insert();
|
||||
}
|
||||
else {
|
||||
ua.next();
|
||||
ua.setValue('status',value); // unsafe
|
||||
ua.update();
|
||||
// Nested if() test.
|
||||
if (ua.safeToWrite()) {
|
||||
ua.setValue('status', value); // safe
|
||||
ua.update();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
type: 'SampleUtility'
|
||||
});
|
||||
17
source/sample-utility-1.js
Normal file
17
source/sample-utility-1.js
Normal file
@@ -0,0 +1,17 @@
|
||||
var SampleUtility = function () {
|
||||
var value = this.getParameter('value');
|
||||
|
||||
var ua = new GR('users');
|
||||
ua.query();
|
||||
|
||||
if (!ua.hasNext()) {
|
||||
ua.initialize();
|
||||
ua.setValue('status', value);
|
||||
ua.insert();
|
||||
}
|
||||
else {
|
||||
ua.next();
|
||||
ua.setValue('status', value);
|
||||
ua.update();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user