hiredis icon indicating copy to clipboard operation
hiredis copied to clipboard

Minimalistic C client for Redis >= 1.2

Results 135 hiredis issues
Sort by recently updated
recently updated
newest added

https://github.com/redis/hiredis/blob/master/async.c#L620 If I call redisAsyncDisconnect() in the onConnect callback, the redisContext pointer "c" will point to a freed memory, this might make a crash. may be, a REDIS_IN_CALLBACK like flag...

Now that there is a flag for allowing the client to clean up the redis async context (thank you for that!) I noticed that if `REDIS_NO_AUTO_FREE` is set then `onDisconnect`...

![image](https://user-images.githubusercontent.com/42959931/84362827-6c967a80-ac00-11ea-9122-cbc3de812a0e.png)

I would like to point out that identifiers like “[`__HIREDIS_H`](https://github.com/redis/hiredis/blob/cdb836d5f845d2bf0fbe58671d073869f41a9936/hiredis.h#L34 "Update candidate")” and “[`__NET_H`](https://github.com/redis/hiredis/blob/1788f41f168e7fe19a79908a58fc1841b60ab170/net.h#L35 "Another update candidate")” [do not fit](https://www.securecoding.cert.org/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier#DCL37-C.Donotdeclareordefineareservedidentifier-NoncompliantCodeExample%28IncludeGuard%29 "Do not use identifiers which are reserved for the compiler...

I posted [this question](https://stackoverflow.com/questions/61680255/c-libhiredis-with-libev-and-custom-event-loop) on StackOverflow, but have not received an answer. Perhaps this is a better place to ask my question. My application uses libhiredis with libev backend. I...

I noticed the `Makefile` says: ``` PREFIX?=/usr/local INCLUDE_PATH?=include/hiredis LIBRARY_PATH?=lib PKGCONF_PATH?=pkgconfig INSTALL_INCLUDE_PATH= $(DESTDIR)$(PREFIX)/$(INCLUDE_PATH) INSTALL_LIBRARY_PATH= $(DESTDIR)$(PREFIX)/$(LIBRARY_PATH) INSTALL_PKGCONF_PATH= $(INSTALL_LIBRARY_PATH)/$(PKGCONF_PATH) ``` Hat tip for supporting a staged install via `DESTDIR`. One small nit... According...

In preparation of hiredis v1.0.0 I think it's a good idea to make sure each file has a licence, but I'm not a lawyer so input from people who know...

redis-adapter.h ``` #ifndef __DRAGON_REDIS_ADAPTER_H__ #define __DRAGON_REDIS_ADAPTER_H__ #include #include #include #include #include typedef struct redisEvents { redisAsyncContext *context; int epfd; } redisEvents; static void redisReadEvent(redisEvents *e) { redisAsyncHandleRead(e->context); } static void...

When calling `redisConnectNonBlock`, the function returns in a non-blocking fashion. This is the expected behavior - but there's no way to check whether the connection established successfully (other than polling...