summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/map.h1
-rw-r--r--src/map/vending.c3
2 files changed, 2 insertions, 2 deletions
diff --git a/src/map/map.h b/src/map/map.h
index 2b976fe6c..9da2592c1 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -32,6 +32,7 @@
#define MAX_WALKPATH 32
#define MAX_DROP_PER_MAP 48
#define MAX_IGNORE_LIST 80
+#define MAX_VENDING 12
#define DEFAULT_AUTOSAVE_INTERVAL 60*1000
diff --git a/src/map/vending.c b/src/map/vending.c
index 54af338c1..ec9076310 100644
--- a/src/map/vending.c
+++ b/src/map/vending.c
@@ -141,7 +141,7 @@ void vending_openvending(struct map_session_data *sd,int len,char *message,int f
}
if (flag) {
- for(i = 0; 85 + 8 * i < len; i++) {
+ for(i = 0; (85 + 8 * i < len) && (i < MAX_VENDING); i++) {
sd->vending[i].index = *(short*)(p+8*i)-2;
sd->vending[i].amount = *(short*)(p+2+8*i);
sd->vending[i].value = *(int*)(p+4+8*i);
@@ -154,7 +154,6 @@ void vending_openvending(struct map_session_data *sd,int len,char *message,int f
}
sd->vender_id = sd->bl.id;
sd->vend_num = i;
- Assert (sd->vend_num < (sizeof (sd->vending) / sizeof(sd->vending[0])));
strcpy(sd->message,message);
if (clif_openvending(sd,sd->vender_id,sd->vending) > 0)
clif_showvendingboard(&sd->bl,message,0);