diff --git a/src/lceasy.c b/src/lceasy.c index ad48022..4fc4c78 100644 --- a/src/lceasy.c +++ b/src/lceasy.c @@ -130,7 +130,7 @@ static int lcurl_easy_to_s(lua_State *L){ return 1; } -static int lcurl_easy_cleanup_storage(lua_State *L, lcurl_easy_t *p){ +static void lcurl_easy_cleanup_storage(lua_State *L, lcurl_easy_t *p){ int i; if(p->storage != LUA_NOREF){ diff --git a/src/lcurl.c b/src/lcurl.c index e70680d..95df0ff 100644 --- a/src/lcurl.c +++ b/src/lcurl.c @@ -230,6 +230,11 @@ static int push_upper(lua_State *L, const char *str){ size_t i, n = strlen(str); char *ptr = (n < sizeof(buffer))?&buffer[0]:malloc(n + 1); if (!ptr) return 1; + if (n == 0) { + lua_pushlstring(L, "", 0); + if(ptr != &buffer[0]) free(ptr); + return 0; + } for(i = 0; i < n; ++i){ if( (str[i] > 96 ) && (str[i] < 123) ) ptr[i] = str[i] - 'a' + 'A'; else ptr[i] = str[i];