-
Posts
351 -
Joined
-
Last visited
-
Days Won
26
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Functor
-
-
@boldo Hello! Your question isn't related to the theme of the topic. So, the owner of license can talk with me in Skype.
- 1
-
6 minutes ago, Chopps said:
Our admin can contact you on Skype? So we can send all other requirements to upgrade to 3.0, and pay of course!
Sure.
P.S. I haven't seen your "src", but I think you use very old emulator. It looks like your "src" doesn't have applied fix, which was released 8 years ago.
Check it: https://github.com/rathena/rathena/commit/5b66b21b67b048427f8e00cea36171a040f7de2c
-
1 hour ago, Chopps said:
We were planning to update to Gepard 3.0, but we got this problem. We want to solve it before try it, cause functor can refuse to help with it!
Send me "socket.h" and "socket.c" in PM.
-
-
How to reproduce "bug"? Which GM lvl should I use with this "groups.conf"?
-
Your "groups.conf" allows the player with GM lvl 2 or higher to bypass this restriction.
-
Nobody can help you with it, because you don't give exact info about your modifications.
You can remove all your mods. If everything will be OK - install it one by one and check.
-
-
- 1
-
Example - https://rextester.com/DGDTO79874
#include <stdio.h> int main(void) { char buffer_1[32]; char buffer_2[32]; unsigned int len_1 = 0; unsigned int len_2 = 0; memset(buffer_1, '\0', sizeof(buffer_1)); memset(buffer_2, '\0', sizeof(buffer_2)); int result_1 = sscanf("hello_1", "%31c%n", buffer_1, &len_1); int result_2 = sscanf("hello_2", "%31s%n", buffer_2, &len_2); printf("%s - %u - result %d\n", buffer_1, len_1, result_1); printf("%s - %u - result %d\n", buffer_2, len_2, result_2); return 0; }
The result:
Quotehello_1 - 0 - result -1 hello_2 - 7 - result 1
As you can see if "sscanf" fails - it returns "-1". So, it is important to check the result.
11 minutes ago, Rytech said:Also is there anything else I should look for in all of the code that could be a possible issue with VS 2015 to fix?
If I find something - I will let you know.
-
2 hours ago, Rytech said:
That doesn't look right.
It is the result of your masking of the problem. I mean:
10 hours ago, Rytech said:make the code safer and it fixed the crash issue
P.S. Try to change from "%31c%n" to "%31s%n" + add validation the result of the execution "sscanf" function and value of "len" variable. Keep in mind that execution of a "%n" directive does not increment the assignment count returned at the completion of execution of the sscanf function.
-
@Rytech If you will not solve it in 2 days - you should create archive with:
Quote- "src" foldez
- "save" folder
- "map-server.exe" + "map-server.pdb"
- "char-server.exe" + "char-server.pdb"
- "login-server.exe" + "login-server.pdb"upload to the file hosting and post link here. I will try to find time to check it.
-
int i,j,p,len;
This line reserves memory on the stack for the variables. But it doesn't initialize them.
So, they contain values after the execution of previous functions("garbage data").
There is a possibility that function "sscanf" will not assign the value to the variable "len", but you use it without any validation.
Different compilers generate different machine code. In this case, "len" variable can contain different values.
For example, when we compile server by using VS2008 - the uninitialized "len" variable is equal "2" and it doesn't cause a crash.
But when we use VS2015 - the uninitialized "len" variable is equal "100500" and it causes a crash.
You should press the button "Run it (F8)" to execute code:
Clang (len == 0) https://rextester.com/TUUGW99405
VC++ (len == random value) https://rextester.com/DBNPV42856As you can see, code is the same - the results are different for different compilers.
It isn't a problem of compilator. It is the problem of the code.
- 1
-
Maybe the server is started from the user which doesn't have the rights to write to the folder "log". You should check it.
-
3 hours ago, Dublin said:
or are you referring to the player's pc ram?
Correct
- 1
-
How about:
Quote[Protection of Guardian Angel] You can't use it when you reach the highest level.
It is client side validation.
-
Put "granny2.dll" and EXE from the game folder in archive, upload to the file hosting and post the link.
-
22 hours ago, Dublin said:
[FAIL] savedata\MiniPartyInfo.lua [2984 ms]
It isn't the reason of the crash. This happened during the attempt of memory allocation for effect's object. Maybe the reason of the crash is the lack of free RAM memory.
- 1
-
- remove "granny2.dll" from "..\Windows\System32" folder
- download the compatible version of "granny2.dll" and copy to the game folderhttps://mega.nz/#!4E8mhSjD!IN754qNXTihq9pMbKQlzN3AFo8aQT0d7qviZbkQEF9M
-
3 minutes ago, Ejamestereo said:
I followed every step but it seems the icon didn't change, is there anything wrong the steps I did?
You need to select patch "Use Ragnarok Icon" for changing icon of EXE.
-
- select EXE by using the first button "Browse" and press "Yes"
- press "Load client"
- press "Select recommended". Some patches will show error message. Ignore it.
- press "Apply selected"The new patched EXE will appear near the original one.
-
@Gigo The presence of a supported "dinput.dll" in the game folder.
- 1
- 1
-
- 1
-
@apuadofrancisco You need to apply it by using any hex editor after patching EXE by NEMO.
offset 21DD42 change 93 to FF
- 3
Having a problem with my script
in Script Requests
Posted
https://rathena.org/board/topic/119467-pvp-ladder-error-and-debug/