Age | Commit message (Collapse) | Author |
|
|
|
Prevent buffer overflow when formatting the error
strncat might copy n+1 bytes (n bytes from the source plus a terminating nul byte).
Also strncat appends after the first found nul byte. But all we pass is
a buffer we might not have zeroed out already.
Closes #380
|
|
test.c: Fix shadowed name with typedef when compiling with -Wshadow
Fixes:
```
/data/files/users/jerry/github/hiredis/test.c: In function 'test_free_null':
/data/files/users/jerry/github/hiredis/test.c:331:11: warning: declaration of 'redisContext' shadows a global declaration [-Wshadow]
void *redisContext = NULL;
^
In file included from /data/files/users/jerry/github/hiredis/test.c:13:0:
/data/files/users/jerry/github/hiredis/hiredis.h:161:3: note: shadowed declaration is here
} redisContext;
^
```
|
|
|
|
Closes #361
|
|
strncat might copy n+1 bytes (n bytes from the source plus a terminating nul byte).
Also strncat appends after the first found nul byte. But all we pass is
a buffer we might not have zeroed out already.
Closes #380
|
|
fixing typos
|
|
|
|
fix snprintf format string
|
|
|
|
|
|
|
|
Easier to read, easier to sort.
|
|
connection"
This reverts commit 1db17f257b1999114c699e77e204f1a91143e5ad.
If the `REDIS_CONNECTED` flag is cleared,
the async onDisconnect callback function will never be called.
This causes problems as the disconnect is never reported back to the user.
Closes #359
|
|
|
|
|
|
|
|
|
|
Fixes #335.
|
|
|
|
Added MacOS X support via CoreFoundation run loop.
|
|
|
|
|
|
|
|
|
|
This adds a new adapter and an example for using hiredis with the ivykis
async I/O library.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
|
|
Use explicit casts for void* pointer in order to compile in C++
|
|
undefined reference to `clock_gettime'
|
|
|
|
fix link error while run "make hiredis-example-libuv":
undefined reference to `clock_gettime'
undefined reference to `clock_getres'
|
|
|
|
|
|
This reverts commit d8145d79ce715054980938c751067ebaa541573c.
|
|
encountering defined constant 'unix' in GNU C environment (see commit d8145d79ce715054980938c751067ebaa541573c).
Not all code using hiredis can compile using '-std=c99', and/or not all users are able to easily make that change to the build process of various open-source projects, so it is more pragmatic to choose a different identifier that does not impose this requirement.
|
|
Fix memory leak in async spontaneous reply handling
|
|
When an asynchronous hiredis connection subscribes to a Pub/Sub channel
and gets an error, and in other related conditions, the function
redisProcessCallbacks() enters a code path where the link is
disconnected, however the function returns before freeing the allocated
reply object. This causes a memory leak. The memory leak was trivial to
trigger in Redis Sentinel, which uses hiredis, every time we tried to
subscribe to an instance that required a password, in case the Sentinel
was configured either with the wrong password or without password at
all. In this case, the -AUTH error caused the leaking code path to be
executed.
|
|
Turns out: gnu9x defines `unix` to 1, making it unusable as a variable
name.
|
|
|
|
|
|
|
|
|
|
Originally implemented by @abedra as part of #306.
In case a write or read times out, we force an error state, because we
can't guarantuee that the next read will get the right data.
Instead we need to reconnect to have a clean-state connection, which is
now easily possible with this method.
|
|
|
|
Add PKGCONFNAME to install dependencies.
|
|
Attempting to use the install target before the make target works fine,
except for the missing pkgconfig file. Adding that file to the
dependencies for the install target to make sure it gets created first.
|
|
Added support for compiling the parser code with Microsoft Visual C compiler.
|
|
|
|
Fix hiredis.pc generation.
|
|
|