naver / arcus-memcached

ARCUS memory cache server
https://github.com/naver/arcus
Apache License 2.0
70 stars 55 forks source link

INTERNAL: Fix the wrong write_and_free error handling in binary protocol #744

Closed ing-eoking closed 7 months ago

ing-eoking commented 7 months ago

Binary 프로토콜에서 Dynamic Buffer 활용으로 인하여 write_and_free 사용 시 에러(Dynamic Buffer가 NULL인 경우) 처리로 ASCII 프로토콜 용도의 out_string을 사용하는 것을 수정합니다.

write_and_free에서는 인자로 받는 포인터가 NULL이 아닌 것을 보장하게 끔 했고, write_and_free 호출하는 주변 로직에서 에러를 처리하게끔 변경했습니다.

대부분 write_and_free를 호출할 경우 포인터가 NULL이 아니게 끔 보장하고 있어 관련 에러 처리가 없는 코드만 수정했습니다.