=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== ############################################## aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp-513- { aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp:514: const unsigned gotoAddr(atoi(cmd.back().c_str())); aseba-1.6.99+dfsg/examples/switches/botspeak/botspeak.cpp-515- if (gotoAddr && gotoAddr < script.size()) ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-137-The `Deque` native library provides functions for `double-ended queue <https://en.wikipedia.org/wiki/Double-ended_queue>`_ operations in an object-oriented style on specially-formatted arrays. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:138:The array for a `deque` object must be of size :math:`$2 + m \cdot k\,\,$` where :math:`$k$` is the size of the tuples [2]_ in the deque, and :math:`$m$` is the maximum number of tuples to be stored. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-139- aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:140:An `index` :math:`$i$` into a deque is between two elements: the integer :math:`$i$` counts the number of elements to the left of the index. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-141- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-144- aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:145:Set :math:`$n$` to the number of elements in deque :math:`$Q$`. If :math:`$n=0$` then :math:`$Q$` is empty. Note that :math:`$n$` must be divided by the tuple size to obtain the number of tuples in :math:`$Q$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-146- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-148-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:149:Insert tuple :math:`$A$` before the first tuple of deque :math:`$Q$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-150- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-152-^^^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:153:Insert tuple :math:`$A$` after the last tuple in deque :math:`$Q$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-154- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-156-^^^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:157:Remove the first :math:`length($A$)` elements of deque :math:`$Q$` and place them in tuple :math:`$A$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-158-<<<<<<< HEAD ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-161-^^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:162:Remove the last :math:`length($A$)` elements of deque :math:`$Q$` and place them in tuple :math:`$A$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-163- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-167-^^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:168:Remove the last :math:`length($A$)` elements of deque :math:`$Q$` and place them in tuple :math:`$A$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-169- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-172-^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:173:Copy into tuple :math:`$A$` , :math:`length($A$)` elements from deque :math:`$Q$` starting from index :math:`$i$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-174- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-176-^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:177:Copy into deque :math:`$Q$` starting at index :math:`$i$`, :math:`length($A$)` elements from tuple :math:`$A$`. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-178- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-180-^^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:181:Shift right the suffix of deque :math:`$Q$` starting at index :math:`$i$` by :math:`length($A$)` elements, then copy tuple :math:`$A$` into the deque :math:`$Q$` at that index. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-182- ############################################## aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-184-^^^^^^^^^^^^^^^^^^^^^^^^^^ aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst:185:Erase :math:`$k$` elements from deque :math:`$Q$` at index :math:`$i$` by shifting the suffix starting from :math:`$i+k$` left. Length :math:`$k$` should be the tuple size or a multiple. aseba-1.6.99+dfsg/docs/en/aseba-std-natives.rst-186- ############################################## aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp-4646- #if defined(__GNUC__) && (defined(__i386) || defined(__x86_64)) aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp:4647: #define CATCH_TRAP() asm volatile ("int $3") /* NOLINT */ aseba-1.6.99+dfsg/third_party/catch2/include/catch2/catch.hpp-4648- #else // Fall back to the generic way. ############################################## aseba-1.6.99+dfsg/aseba/vm/vm.c-33- aseba-1.6.99+dfsg/aseba/vm/vm.c:34:// TODO: potentially replace by more efficient native asm instruction aseba-1.6.99+dfsg/aseba/vm/vm.c-35-//! Return true if bit b of v is 1 ############################################## aseba-1.6.99+dfsg/aseba/vm/natives.c-98- // find first bit at one aseba-1.6.99+dfsg/aseba/vm/natives.c:99: // ASM optimisation for 16bits PIC aseba-1.6.99+dfsg/aseba/vm/natives.c-100- // Find first bit from left (MSB) on 32 bits word aseba-1.6.99+dfsg/aseba/vm/natives.c:101: asm ("ff1l %[word], %[b]" : [b] "=r" (fb1) : [word] "r" ((int) (value >> 16)) : "cc"); aseba-1.6.99+dfsg/aseba/vm/natives.c-102- if(fb1) ############################################## aseba-1.6.99+dfsg/aseba/vm/natives.c-104- else { aseba-1.6.99+dfsg/aseba/vm/natives.c:105: asm ("ff1l %[word], %[b]" : [b] "=r" (fb1) : [word] "r" ((int) value) : "cc"); aseba-1.6.99+dfsg/aseba/vm/natives.c-106- if(fb1) ############################################## aseba-1.6.99+dfsg/aseba/vm/natives.c-632- // Do NOT save the accumulator values, so do NOT USE THIS FUNCTION IN INTERRUPT ! aseba-1.6.99+dfsg/aseba/vm/natives.c:633: asm __volatile__ ( aseba-1.6.99+dfsg/aseba/vm/natives.c-634- "push %[ptr1] \r\n" ############################################## aseba-1.6.99+dfsg/aseba/vm/natives.c-648- shift -= 16; aseba-1.6.99+dfsg/aseba/vm/natives.c:649: asm __volatile__ ("sftac A, #16\r\n" : /* No output */ : /* No input */ : "cc"); aseba-1.6.99+dfsg/aseba/vm/natives.c-650- } ############################################## aseba-1.6.99+dfsg/aseba/vm/natives.c-652- // Shift and get the output aseba-1.6.99+dfsg/aseba/vm/natives.c:653: asm __volatile__ ("sftac A, %[sft]\r\n" : /* No output */ : [sft] "r" (shift) : "cc"); aseba-1.6.99+dfsg/aseba/vm/natives.c-654- ############################################## aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-51-void AsebaResetIntoBootloader(AsebaVMState *vm) { aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:52: asm __volatile__ ("reset"); aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-53-} ############################################## aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-475- aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:476: asm __volatile__ ("reset"); aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-477- ############################################## aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-489- // Get the section start pointer. Cannot get it in C, so use the assember-style aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:490: asm ("mov #tbloffset(.startof.(.aseba_bytecode)), %[l]" : [l] "=r" (low)); aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:491: asm ("mov #tblpage(.startof.(.aseba_bytecode)), %[h]" : [h] "=r" (high)); aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-492- aseba_flash_ptr = (unsigned long) high << 16 | low; aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-493- aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:494: asm ("mov #tbloffset(.startof.(.aseba_settings)), %[l]" : [l] "=r" (low)); aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:495: asm ("mov #tblpage(.startof.(.aseba_settings)), %[h]" : [h] "=r" (high)); aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-496- aseba_settings_ptr = (unsigned long) high << 16 | low; ############################################## aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-531- // It may get delayed until next interrupt aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c:532: asm __volatile__ ("mov #SR, w0 \r\n" aseba-1.6.99+dfsg/aseba/targets/dspic33/skel.c-533- "mov #0xC0, w1\r\n" ############################################## aseba-1.6.99+dfsg/aseba/targets/can-translator/main.c-218- _POR = 0; aseba-1.6.99+dfsg/aseba/targets/can-translator/main.c:219: asm __volatile("reset"); aseba-1.6.99+dfsg/aseba/targets/can-translator/main.c-220- } ############################################## aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-91- const int16_t number(vm->variables[AsebaNativePopArg(vm)]); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:92: const uint16_t durationAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-93- ############################################## aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-123-{ aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:124: const uint16_t waveAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-125- ############################################## aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-307- const int16_t number(vm->variables[AsebaNativePopArg(vm)]); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:308: const uint16_t statusAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-309- ############################################## aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-332-{ aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:333: const uint16_t dataAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:334: const uint16_t statusAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-335- const uint16_t dataLength(AsebaNativePopArg(vm)); ############################################## aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-359-{ aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:360: const uint16_t dataAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:361: const uint16_t statusAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-362- const uint16_t dataLength(AsebaNativePopArg(vm)); ############################################## aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-388- const int16_t seek(vm->variables[AsebaNativePopArg(vm)]); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp:389: const int16_t statusAddr(AsebaNativePopArg(vm)); aseba-1.6.99+dfsg/aseba/targets/playground/robots/thymio2/Thymio2-natives.cpp-390- ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-174- Node(sourcePos), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp:175: arrayAddr(arrayAddr), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-176- arraySize(arraySize), ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-184- Node(sourcePos), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp:185: arrayAddr(arrayAddr), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-186- arraySize(arraySize), ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-194- Node(memoryNode->sourcePos), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp:195: tempAddr(tempAddr), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp:196: arrayAddr(memoryNode->arrayAddr), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-197- arraySize(memoryNode->arraySize), ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-214- AbstractTreeNode(sourcePos), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp:215: arrayAddr(arrayAddr), aseba-1.6.99+dfsg/aseba/compiler/tree-build.cpp-216- arraySize(arraySize), ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-104- }; aseba-1.6.99+dfsg/aseba/compiler/tree.h:105: virtual unsigned getVectorAddr() const; aseba-1.6.99+dfsg/aseba/compiler/tree.h-106- virtual unsigned getVectorSize() const; ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-264- //! Constructor aseba-1.6.99+dfsg/aseba/compiler/tree.h:265: EmitNode(const SourcePos& sourcePos) : Node(sourcePos), eventId(0), arrayAddr(0), arraySize(0) { } aseba-1.6.99+dfsg/aseba/compiler/tree.h-266- EmitNode* shallowCopy() const override { return new EmitNode(*this); } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-382- //! Constructor aseba-1.6.99+dfsg/aseba/compiler/tree.h:383: StoreNode(const SourcePos& sourcePos, unsigned varAddr) : Node(sourcePos), varAddr(varAddr) { } aseba-1.6.99+dfsg/aseba/compiler/tree.h-384- StoreNode* shallowCopy() const override { return new StoreNode(*this); } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-391- aseba-1.6.99+dfsg/aseba/compiler/tree.h:392: unsigned getVectorAddr() const override { return varAddr; } aseba-1.6.99+dfsg/aseba/compiler/tree.h-393- unsigned getVectorSize() const override { return 1; } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-402- //! Constructor aseba-1.6.99+dfsg/aseba/compiler/tree.h:403: LoadNode(const SourcePos& sourcePos, unsigned varAddr) : Node(sourcePos), varAddr(varAddr) { } aseba-1.6.99+dfsg/aseba/compiler/tree.h-404- LoadNode* shallowCopy() const override { return new LoadNode(*this); } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-412- aseba-1.6.99+dfsg/aseba/compiler/tree.h:413: unsigned getVectorAddr() const override { return varAddr; } aseba-1.6.99+dfsg/aseba/compiler/tree.h-414- unsigned getVectorSize() const override { return 1; } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-433- aseba-1.6.99+dfsg/aseba/compiler/tree.h:434: unsigned getVectorAddr() const override { return arrayAddr; } aseba-1.6.99+dfsg/aseba/compiler/tree.h-435- unsigned getVectorSize() const override { return 1; } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-454- aseba-1.6.99+dfsg/aseba/compiler/tree.h:455: unsigned getVectorAddr() const override { return arrayAddr; } aseba-1.6.99+dfsg/aseba/compiler/tree.h-456- unsigned getVectorSize() const override { return 1; } ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree.h-575- aseba-1.6.99+dfsg/aseba/compiler/tree.h:576: unsigned getVectorAddr() const override; aseba-1.6.99+dfsg/aseba/compiler/tree.h-577- unsigned getVectorSize() const override; ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-298- aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp:299: unsigned pointer = getVectorAddr() + index; aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-300- // check if index is within bounds ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-437- //! return the address of the left-most operand, or E_NOVAL if none aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp:438: unsigned Node::getVectorAddr() const aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-439- { aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-440- if (children.size() > 0) aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp:441: return children[0]->getVectorAddr(); aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-442- else ############################################## aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-478- //! return E_NOVAL if foo[expr] aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp:479: unsigned MemoryVectorNode::getVectorAddr() const aseba-1.6.99+dfsg/aseba/compiler/tree-expand.cpp-480- { ############################################## aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-748- // allocate memory? aseba-1.6.99+dfsg/aseba/compiler/parser.cpp:749: if (!dynamic_cast<MemoryVectorNode*>(preNode.get()) || preNode->getVectorAddr() == Node::E_NOVAL) aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-750- { ############################################## aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-758- //allocateTemporaryVariable(pos) aseba-1.6.99+dfsg/aseba/compiler/parser.cpp:759: emitNode->arrayAddr = preNode->getVectorAddr(); aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-760- emitNode->arraySize = preNode->getVectorSize(); ############################################## aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-1422- // get the address and size aseba-1.6.99+dfsg/aseba/compiler/parser.cpp:1423: varAddr = preNode->getVectorAddr(); aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-1424- varSize = preNode->getVectorSize(); ############################################## aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-1432- preNode.reset(temp); aseba-1.6.99+dfsg/aseba/compiler/parser.cpp:1433: varAddr = preNode->getVectorAddr(); aseba-1.6.99+dfsg/aseba/compiler/parser.cpp-1434- auto* block(new BlockNode(varPos)); ############################################## aseba-1.6.99+dfsg/aseba/compiler/compiler.cpp-376- // address of threads and subroutines aseba-1.6.99+dfsg/aseba/compiler/compiler.cpp:377: const BytecodeVector::EventAddressesToIdsMap eventAddr(bytecode.getEventAddressesToIds()); aseba-1.6.99+dfsg/aseba/compiler/compiler.cpp-378- std::map<unsigned, unsigned> subroutinesAddr;