Commit Graph

514 Commits

Author SHA1 Message Date
Jan-Erik Rediger
97ac0d1f50 fix: Change string length type to size_t 2016-04-20 17:00:14 +02:00
not-a-robot
2e11f0c892 Auto merge of #410 - redis:updated-sds, r=badboy
Updated sds
2016-04-20 16:24:57 +02:00
not-a-robot
cec13a9c46 Auto merge of #407 - xor-gate:fix-wundef-warning, r=badboy
fmacros.h: Fix warning when compiled with -Wundef

When compiling with the flag `-Wundef` the following warning is emitted:

```
[ 40%] Building C object CMakeFiles/hiredis-STATIC.dir/read.c.o
In file included from /data/files/users/jerry/github/hiredis/read.c:33:0:
/data/files/users/jerry/github/hiredis/fmacros.h:17:5: warning: "__APPLE__" is not defined [-Wundef]
 #if __APPLE__ && __MACH__
     ^
In file included from /usr/include/string.h:25:0,
                 from /data/files/users/jerry/github/hiredis/read.c:34:
```
2016-04-20 15:52:12 +02:00
Jan-Erik Rediger
a72860765f fix: Add sdsalloc.h file 2016-04-20 15:36:51 +02:00
not-a-robot
36bddcf6ed Auto merge of #391 - redis:catch-error-buf-overflow, r=badboy
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
2016-04-20 15:31:23 +02:00
Jan-Erik Rediger
63e1cf0c63 feat: Include latests changes from sds upstream 2016-04-20 15:27:38 +02:00
clark.kang
d76e13b6d5 apply sds from redis 2016-04-20 15:27:11 +02:00
not-a-robot
2139f78c71 Auto merge of #409 - xor-gate:fix-shadow-in-test, r=badboy
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;
   ^
```
2016-04-20 15:01:17 +02:00
Jerry Jacobs
8a5fdf0c9e test.c: Fix shadowed name with typedef when compiling with -Wshadow 2016-04-17 20:33:59 +00:00
Jerry Jacobs
9317a74ae5 fmacros.h: Fix warning when compiled with -Wundef 2016-04-17 20:23:42 +00:00
Jan-Erik Rediger
1b8ed38843 docs: Handle NULL in example
Closes #361
2016-03-26 01:02:48 +01:00
Jan-Erik Rediger
0335cb3e98 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
2015-11-18 14:37:47 +01:00
Jan-Erik Rediger
db1c46dac7 Merge pull request #373 from charsyam/feature/typos
fixing typos
2015-10-27 18:28:34 +01:00
charsyam
e2f6ee239c fixing typos 2015-10-28 02:19:24 +09:00
Jan-Erik Rediger
4b3786d57e Merge pull request #369 from jamel/snprintf
fix snprintf format string
2015-10-18 22:47:57 +02:00
Sergey Polovko
f932f0ed27 fix snprintf format string 2015-10-05 16:22:00 +03:00
Jan-Erik Rediger
010756025e Release version 0.13.3 2015-09-16 12:25:02 +02:00
olgeni
3d4b5c29ba Add FreeBSD message to test_blocking_connection_errors. 2015-09-16 12:24:03 +02:00
Jan-Erik Rediger
3c3a406ec4 Change date format in CHANGELOG
Easier to read, easier to sort.
2015-09-14 15:50:38 +02:00
Jan-Erik Rediger
d323b5ef9c Revert "redisBufferRead: Clear REDIS_CONNECTED flag when server closed connection"
This reverts commit 1db17f257b.

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
2015-09-14 14:58:05 +02:00
Jan-Erik Rediger
53c32439bf Release version 0.13.2 2015-08-25 14:16:20 +02:00
Jerry Jacobs
1db17f257b redisBufferRead: Clear REDIS_CONNECTED flag when server closed connection 2015-08-24 17:03:16 +02:00
Jan-Erik Rediger
8e6d8195a9 Merge branch 'soname-stable' into unstable 2015-08-24 16:54:48 +02:00
Jan-Erik Rediger
a9a0af1d35 Use container-based Travis by installing packages through the addon 2015-07-28 00:21:24 +02:00
Jan-Erik Rediger
36a9802c54 Prevent crash on pending replies in async code
Fixes #335.
2015-07-27 23:35:02 +02:00
Jan-Erik Rediger
ded5374763 Fix a typo in the Mac OSX example 2015-07-27 23:19:41 +02:00
Dmitry Bakhvalov
c18a564818 Added MacOS X addapter and corresponding example.
Added MacOS X support via CoreFoundation run loop.
2015-07-27 23:19:14 +02:00
Pietro Cerutti
4a632a6038 Make sure to disconnect the adapter in the destructor 2015-07-27 23:17:41 +02:00
Pietro Cerutti
9069b147b0 Fix typo 2015-07-27 23:17:41 +02:00
Pietro Cerutti
1984b309b8 Add hooks for read/write/cleanup 2015-07-27 23:17:41 +02:00
Pietro Cerutti
8ef7d595ac Add Qt adapter and relative example. 2015-07-27 23:17:41 +02:00
Gergely Nagy
3b153cbf9d Add an Ivykis adapter
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>
2015-07-27 22:48:05 +02:00
Jan-Erik Rediger
9644a96a48 Use stable soname version 2015-07-27 22:14:03 +02:00
Jan-Erik Rediger
2fc31e74b1 Merge pull request #341 from Cylix/glib_adapter_cpp_compilation
Use explicit casts for void* pointer in order to compile in C++
2015-06-25 17:10:02 +02:00
Jan-Erik Rediger
b9cc0add2c Merge pull request #333 from w359405949/w359405949-patch-1
undefined reference to `clock_gettime'
2015-06-24 15:35:35 +02:00
Simon Ninon
1c884ec75b Use explicit casts for void* pointer in order to compile in C++ 2015-06-22 14:44:57 +02:00
w359405949
485d0a148f Update Makefile
fix link error while run "make hiredis-example-libuv":

undefined reference to `clock_gettime'
undefined reference to `clock_getres'
2015-05-30 09:45:20 +08:00
Jan-Erik Rediger
f58dd249d6 Release version 0.13.1 2015-05-03 22:58:11 +02:00
Jan-Erik Rediger
26999505d6 Make sure to compile example to trigger edge-cases in compiling 2015-05-03 22:33:39 +02:00
Jan-Erik Rediger
8999750f12 Revert "Always compile with C99 standard."
This reverts commit d8145d79ce.
2015-05-03 22:32:42 +02:00
Alex Balashov
d132d676e9 Renamed redisContext struct member 'unix' to 'unix_sock' to avoid encountering defined constant 'unix' in GNU C environment (see commit d8145d79ce).
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.
2015-04-30 15:01:31 -04:00
Jan-Erik Rediger
b9f907fb4c Merge pull request #324 from redis/fix-spontaneous-reply-leak
Fix memory leak in async spontaneous reply handling
2015-04-29 14:31:37 +02:00
antirez
2fc39eb4c3 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.
2015-04-28 22:00:48 +02:00
Jan-Erik Rediger
d8145d79ce Always compile with C99 standard.
Turns out: gnu9x defines `unix` to 1, making it unusable as a variable
name.
2015-04-16 22:51:32 +02:00
Jan-Erik Rediger
31436c33ac Release version 0.13.0 2015-04-16 21:30:43 +02:00
Jan-Erik Rediger
4b30b5812d Add current maintainer to README 2015-04-16 21:29:47 +02:00
Jan-Erik Rediger
af598dbce5 Change copyright date and add copyright holder 2015-04-16 21:29:41 +02:00
Jan-Erik Rediger
b676007253 Document reconnect method 2015-04-16 21:01:00 +02:00
Jan-Erik Rediger
d9e0b0f6ab Implement a reconnect method for the client context
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.
2015-04-16 21:00:30 +02:00
Jan-Erik Rediger
b872919463 Make this work on Redis 3.0 2015-04-16 18:24:50 +02:00