Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

invalid type handling #11

Open
simple4logic opened this issue Jun 17, 2024 · 2 comments
Open

invalid type handling #11

simple4logic opened this issue Jun 17, 2024 · 2 comments
Labels
solved Question solved

Comments

@simple4logic
Copy link

안녕하세요. 과제 구현 상에 문제가 발생한건 아니나, reference에서 의문이 들어서 질문드립니다. reference 코드로 서버를 구동하고, client는 직접 구현한 코드로 서버에 request를 했습니다. invalid type 상황을 가정하여, rand() % (MAX+1) 형태로 나누어 index 4가 등장하도록 설정하여 구동하였더니

[Thread 140580445013568] From server: Sorry, we don't sell �*�� burgers. Goodbye!
이런 형태의 응답을 (reference)서버로부터 받았습니다. 짐작컨데 burger.c에 정의되어있는 burger_names에서 그대로 max의 값인 4로 접근하여 burger_names[4]를 출력한 것 같은데, 이런 경우에는 비정상적 메모리 참조로 오류가 발생할 수 있지 않을까요?

감사합니다.

@kwonsw055
Copy link
Collaborator

Reference server가 잘못된 버거 타입을 받은 경우에는, 받은 string을 그대로 사용해 client에게 돌려줍니다.
혹시 client에서 invalid type을 보내는 경우에 burger_names[4]를 접근해 server에 보낸 것은 아닌가요?

@simple4logic
Copy link
Author

simple4logic commented Jun 17, 2024

아 저와 server 구현 방식에 차이가 있어서 저렇게 생각했던 것 같습니다. 저는 invalid한 type은 전부 idx를 MAX로 처리하는 방식을 취했는데, reference에서는 input string 자체를 받아서 돌려주는 거였군요. 답변해주셔서 감사합니다.

@kwonsw055 kwonsw055 added the solved Question solved label Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
solved Question solved
Development

No branches or pull requests

2 participants