Skip to content

Instantly share code, notes, and snippets.

View arbv's full-sized avatar
💭
🇺🇦

Artem Boldariev arbv

💭
🇺🇦
View GitHub Profile
@arbv
arbv / IsBadMemPtr.c
Last active November 26, 2021 05:33
A safer replacement for the obsolete IsBadReadPtr() and IsBadWritePtr() WinAPI functions on top of VirtualQuery() which respects Windows guard pages and does not use SEH.
/*
Copyright (c) 2017,2020 Artem Boldariev <artem@boldariev.com>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files(the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions :
@arbv
arbv / epolltest.c
Created November 15, 2016 11:19 — forked from jadonk/epolltest.c
Quick test using epoll to wait on GPIO events
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/epoll.h>
#include <sys/types.h>
int main(int argc, char** argv) {